Junior — Middle
Czy możesz wymienić różne typy Broadcast Receiver używane w Androidzie?
sobes.tech AI
Odpowiedź od AI
W Androidzie istnieją dwa główne typy Broadcast Receiver:
-
Statyczne (Static) Broadcast Receivers — deklarowane w manifeście aplikacji (
AndroidManifest.xml). Mogą odbierać wiadomości broadcast nawet gdy aplikacja nie jest uruchomiona. Jednak od Androida 8.0 (API 26) ich użycie jest ograniczone dla niektórych zdarzeń systemowych, aby oszczędzać zasoby. -
Dynamically (Dynamic) Broadcast Receivers — rejestrowane programowo w kodzie (zwykle w
onCreatelubonResumeaktywności) za pomocąregisterReceiver(). Są aktywne tylko podczas gdy aplikacja lub komponent jest uruchomiony i zarejestrowany.
Można również wyróżnić:
- Ordered Broadcast Receivers — odbierają wiadomości kolejno, z możliwością przerwania dalszej transmisji.
- Local Broadcast Receivers — działają wewnątrz jednej aplikacji, nie wychodząc poza jej granice, co zwiększa bezpieczeństwo i wydajność (
LocalBroadcastManager).
Przykład dynamicznej rejestracji:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// obsługa zdarzenia
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));