Intereting Posts
Как установить гравитацию программно в режиме релятивирования Принудительный просмотр для перерисовки Как создать несколько шаблонов шаблонов, как в шаблоне уведомления по умолчанию в Android Studio Исключение «Файл не найден» в задаче dexDebug сборки Удалите лишний значок на панели действий (при использовании ShareActionProvider и ActionBarSherlock) Ошибка интеграции firebase: устаревшие службы Google Play Разработка приложения похожа на «Google сейчас» – возможно ли использовать распознавание голоса без ввода ключа? Инициализация приложения очень медленная: инициализация FirebaseApp неудачна Ресурсы для Android: как загружаются растровые изображения из ресурсов, обработанных памятью? Настройка телефона HTTP-прокси для сетей WIFI на устройствах 1.x и 2.x для Android Разделение режима фонового цвета Android ActionBar Пример утечки памяти для Android из Google I / O Не удалось найти следующие классы: – android.support.design.widget.TextInputLayout Отправить уведомление на арабском языке с использованием GCM SetParameters не удалось при инициализации веб-камеры Android с помощью python и SL4A

Динамическая регистрация и статическая регистрация BroadcastReceiver

Все мы знаем, что мы регистрируем BroadcastReceiver в двух типах

1)Static Registration

2)Dynamic Registration

Но я сомневаюсь, когда нам нужно использовать Static и когда нам нужно использовать Dynamic ?

Как известно, существует два способа регистрации BroadcastReceiver ; Один – статический, а другой – динамический .

Статическая:

  1. Используйте тег в файле манифеста. (AndroidManifest.xml)
  2. Не все события могут регистрироваться статически.
  3. Для некоторых событий требуются разрешения.

Динамический:

  1. Используйте Context.registerReceiver() для динамического регистрации экземпляра.
  2. Примечание: Отменить регистрацию при приостановке.

Когда мы делаем динамическую регистрацию (т.е. во время выполнения), она будет связана с жизненным циклом приложения. Если мы сделаем статическую регистрацию (т. Е. Во время компиляции), и наше приложение не будет запущено, для обработки широковещательной передачи будет создан новый процесс.

1) Статическая регистрация

Реализация в манифесте, система Android может инициировать процессы и запускать приемник для приемника. Один пример, например, вы хотите обновить свои данные, когда новые намерения поступают из системы или т. Д. Вам также необходимо решить проблему безопасности.

2) Динамическая регистрация

Реализация выполняется в Java-коде, приемщик приемников работает только тогда, когда ваше приложение работает до этой регистрационной строки. Таким образом, вы в основном хотите использовать это, если хотите только приподнять приемник бортового вещания с определенными условиями.