Явное намерение с не классом BroadcastReceiver

1

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

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

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

Теги:
broadcastreceiver
android-intent

2 ответа

0
Лучший ответ

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

  • 1
    Это был бы очень аккуратный способ сделать это. Тем временем я сделал это без использования явного намерения ( github.com/spookypeanut/Wake-Me-At/blob/master/src/uk/co/… ), я вполне могу перейти к тому, что вы предлагаете здесь в будущем.
0

Таким образом, это не сработает. Вы должны иметь свой BroadcastReceiver как отдельный класс.

  • 0
    Как тогда получить его для обновления значения в графическом интерфейсе действия?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню