Явное намерение с не классом BroadcastReceiver - PullRequest
1 голос
/ 29 января 2011

У меня есть служба, для которой я хочу обновить номер на экране активности.У меня уже настроено явное намерение, которое я использую для запуска действия, если оно не выполняется, и я добавил приемник вещания в свою деятельность в виде:

    public BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.d(LOG_NAME, "Received broadcast");
        }
   };

Но это никогдаполучает любые трансляции.Я подозреваю, что это потому, что мое явное намерение - MyClass.class (который не является самим получателем), а не фактический получатель, который является членом.У кого-нибудь есть предложения о том, возможно ли это с явным намерением?Я мог бы использовать неявное намерение, но это кажется немного расточительным, поскольку это только когда-либо идет к определенному классу.

Ответы [ 2 ]

0 голосов
/ 22 июля 2011

Я думаю, что у вас может быть отдельный BroadcastReceiver, который получает явную трансляцию и обновляет общие предпочтения, а ваша активность содержит onSharedPreferenceChangeListener, который будет выполнять обновление действия.

0 голосов
/ 29 января 2011

Так не получится. Ваш BroadcastReceiver должен быть отдельным классом.

...