Sobes.tech
Junior — Middle

BroadcastReceiver'ı manifest dosyasında mı kaydetmek gerekiyor yoksa programlı mı bağlanabilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Android'de BroadcastReceiver iki şekilde kaydedilebilir:

  1. Manifestte (statik olarak) — bu yöntem, uygulama çalışmasa bile sistemin alıcıyı bilmesini sağlar. Bu, uygulamayı başlatması veya arka planda işlemler yapması gereken yayın mesajlarını almak için uygundur.

  2. Programatik (dinamik olarak) — kayıt kodda, genellikle Activity veya Service yaşam döngüsü metodlarında yapılır. Bu yöntem daha fazla kontrol sağlar: alıcı sadece kayıtlı olduğu sürece aktiftir, bu da kaynak tasarrufu yapmaya ve sızıntıları önlemeye yardımcı olur.

Yöntem seçimi göreve bağlıdır. Örneğin, her zaman işlenmesi gereken sistem yayın mesajları için manifestte kayıt yapılır. Yerel veya geçici olaylar için ise programatik kayıt tercih edilir.

Programatik kayıt örneği:

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

// Kayıt
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));

// Kayıt iptali
unregisterReceiver(receiver);