Когда использовать какой метод для регистрации
Какой метод использовать для регистрации вашего BroadcastReceiver зависит от того, что ваше приложение делает с системным событием.Я думаю, что в основном есть две причины, по которым ваше приложение хочет знать о системных событиях:
Ваше приложение предлагает какой-то сервис для этих событий
Ваше приложение хочет любезно реагировать на изменения состояния
Примерами для первой категории являются приложения, которые должны работать сразу после загрузки устройства или запускать какую-то работу.всякий раз, когда приложение установлено.Battery Widget Pro или App2SD являются хорошими примерами для таких приложений.Для этого типа вы должны зарегистрировать BroadcastReceiver в файле манифеста.
Примерами для второй категории являются события, которые сигнализируют об изменении обстоятельств, на которые может положиться ваше приложение.Скажем, ваше приложение зависит от установленного соединения Bluetooth.Вы должны реагировать на изменение состояния - но только когда ваше приложение активно.В этом случае нет необходимости в статически зарегистрированном приемнике вещания.Динамически зарегистрированный вариант был бы более разумным.
Есть также несколько событий, на которые вам даже не разрешено статически регистрироваться.Примером этого является событие Intent.ACTION_TIME_TICK, которое транслируется каждую минуту.Что является мудрым решением, поскольку статический приемник излишне разряжает батарею.