Sobes.tech
Junior — Middle

Android'de kullanılan farklı Broadcast Receiver türlerini isimlendirebilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de iki ana Broadcast Receiver türü vardır:

  1. Statik (Static) Broadcast Receiver'lar — uygulamanın manifest dosyasında (AndroidManifest.xml) ilan edilirler. Uygulama çalışmadığında bile yayınlanan mesajları alabilirler. Ancak, Android 8.0 (API 26) itibarıyla, bazı sistem olayları için kullanımları sınırlandırılmıştır, böylece kaynaklar tasarruf edilir.

  2. Dinamik (Dynamic) Broadcast Receiver'lar — kodda programlı olarak kaydedilirler (genellikle onCreate veya onResume içinde) registerReceiver() kullanılarak. Sadece uygulama veya bileşen çalıştığı sürece aktiftirler ve kaydedilmiştir.

Ayrıca şu ayrımlar yapılabilir:

  • Sıralı Broadcast Receiver'lar (Ordered Broadcast Receivers) — mesajları sıralı olarak alır, ve gerekirse iletimi durdurabilirler.
  • Yerel Broadcast Receiver'lar (Local Broadcast Receivers) — sadece aynı uygulama içinde çalışır, dışarı çıkmazlar, bu da güvenliği ve performansı artırır (LocalBroadcastManager kullanılır).

Dinamik kayda örnek:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // olay işleme
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));