Context.registerReceiver () регистрируется только во время работы приложения?

1

Интересно одно о android Context.registerReceiver(), и я вижу на веб-сайте android, на котором он сказал это.

Существует два способа сделать широковещательный приемник известным системе: One объявляет его в файле манифеста с помощью этого элемента. Другой заключается в том, чтобы динамически создавать приемник в коде и регистрировать его с помощью метода Context.registerReceiver()

Мой вопрос:

  • Работает ли он так же, как <Receiver> в файле манифеста android?

Как и в моем тесте <Receiver> в файле манифеста, он работает всякий раз, когда мое приложение открывается или нет, но Context.registerReceiver() похоже работает только тогда, когда открывается мое приложение.

Пожалуйста, поправьте меня, если я ошибаюсь.

Теги:

2 ответа

1

Да.

Регистры Context.registerReceiver() (Dynamic method) для трансляции только при запуске приложения.

Тег

(статический метод) в манифесте работает независимо от того, что приложение находится на переднем плане или в фоновом режиме.

Один случай, когда тег в манифесте мог сбой, - это приложение, перенесенное на SD-карту. Скажем, что вы зарегистрировались для android.intent.action.BOOT_COMPLETED, событие загрузки запускается еще до того, как медиасканер сканирует SD-карту.: P

0

Он будет работать, как только этот код будет выполнен...:)

это код!

  • 0
    Есть ли другой способ заставить его работать так? Все еще используйте <Receiver> в манифесте Android, но есть другая возможность отменить регистрацию при получении смс.

Ещё вопросы

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