Объясните как работают 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. И что он делает? Зачем он? Как он применяется?