@KnightForce

Объясните как работают sticky intent?

Объясните как работают sticky intent?

Я понимаю что происходит при регистрации BroadcastReceiver, при sendBroadcast и т.д.

Но вот, например, в книге есть такое пример:

IntentFilter batIntentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
Intent battery = context.registerReceiver(null, batIntentFilter);
int status = battery.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
boolean isCharging = ((status == BatteryManager.BATTERY_STATUS_CHARGING) || (status == BatteryManager.BATTERY_STATUS_FULL));


Создается IntentFilter, дальше вызывается метод регистрации BroadcastReceiver, но вместо приемника ему передается null. Ему должны передаваться BroadcastReceiver и IntentFilter для него - для регистрации.

Но, как я понял из документации, если передать null вернется sticky intent. И что он делает? Зачем он? Как он применяется?
  • Вопрос задан
  • 636 просмотров
Пригласить эксперта
Ответы на вопрос 1
@onepavel
Консультация и разработка мобильных приложений
Если я правильно понял, при вызове registerReceiver(null, batIntentFilter) вернется последний интент, который ранее посылался для данного интент фильтра. Вот этот последний интент походу и зовется sticky intent
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы