Sobes.tech
Junior — Middle

Android-də istifadə olunan müxtəlif Broadcast Receiver növlərini qeyd edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Android-də iki əsas Broadcast Receiver növü mövcuddur:

  1. Statik (Static) Broadcast Receiver-lər — tətbiqin manifestində (AndroidManifest.xml) elan edilir. Onlar tətbiq işə düşməsə belə yayım mesajlarını qəbul edə bilərlər. Ancaq Android 8.0 (API 26)-dan etibarən, bəzi sistem hadisələri üçün istifadəsi məhdudlaşdırılıb ki, resurslar qənaət olunsun.

  2. Dinamik (Dynamic) Broadcast Receiver-lər — proqramda (adətən onCreate və ya onResume metodlarında) registerReceiver() vasitəsilə qeydiyyata alınır. Onlar yalnız tətbiq və ya komponent işlək vəziyyətdə olduqda aktivdirlər və qeydiyyata alınmışdır.

Həmçinin aşağıdakı kimi fərqləndirilə bilər:

  • Ordered Broadcast Receivers — mesajları ardıcıllıqla alır, və lazım gəlsə, ötürməni dayandıra bilər.
  • Local Broadcast Receivers — yalnız bir tətbiq daxilində işləyir, xaricə çıxmır, bu da təhlükəsizlik və performansı artırır (LocalBroadcastManager).

Dinamik qeydiyyat nümunəsi:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // hadisənin işlənməsi
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));