Android Broadcast Receiver Nedir

Android Yayın Alıcıları: Kapsamlı Bir Kılavuz

Giriş

Android yayın alıcıları, uygulamaların sistem olaylarına veya diğer uygulamalardan gelen yayınlara yanıt vermesini sağlayan önemli bir Android bileşenidir. Bu olaylar, cihazın durumundaki değişiklikleri, ağ bağlantısındaki değişiklikleri veya diğer uygulamalar tarafından gönderilen özel mesajları içerebilir. Yayın alıcılar, uygulamaların kullanıcı etkileşimi olmadan arka planda olaylara yanıt vermesine olanak tanır.

Yayın Alıcıların Çalışma Prensibi

Yayın alıcılar, yayınlar olarak bilinen mesajları dinler. Bir yayın, bir olay veya mesajı temsil eden bir Android nesnesidir. Yayınlar, yayın gönderen uygulamalar tarafından oluşturulur ve yayın alıcılarına gönderilir. Yayın alıcılar, yayınlarla eşleşen filtreler kaydederek belirli yayınlara yanıt verebilirler.

Bir yayın gönderildiğinde, Android sistemi kayıtlı tüm yayın alıcılarını kontrol eder ve filtreleri eşleşen yayın alıcılarını tetikler. Tetiklenen yayın alıcıları, onReceive() yöntemini çağırır ve yayınla ilişkili verileri işler.

Yayın Alıcı Türleri

Android’de iki ana yayın alıcı türü vardır:

  • Yerel Yayın Alıcıları: Yalnızca yayın gönderen uygulama tarafından alınabilen yayınlara yanıt verirler.
  • Genel Yayın Alıcıları: Herhangi bir uygulama tarafından gönderilen yayınlara yanıt verebilirler.

Yayın Alıcı Oluşturma

Bir yayın alıcısı oluşturmak için BroadcastReceiver sınıfını genişletmeniz ve onReceive() yöntemini geçersiz kılmanız gerekir. onReceive() yöntemi, yayın alıcının yayınlara yanıt verdiği yerdir.

“`java
public class MyBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // Yayınla ilişkili verileri işleyin
}

}
“`

Yayın Alıcı Kaydetme

Yayın alıcıları, IntentFilter sınıfını kullanarak yayınlara kaydedilir. Bir IntentFilter nesnesi, yayın alıcının yanıt vereceği yayın türlerini tanımlar.

java
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_POWER_CONNECTED);
filter.addAction(Intent.ACTION_POWER_DISCONNECTED);

Yayın alıcısını kaydetmek için registerReceiver() yöntemini kullanın:

java
registerReceiver(myBroadcastReceiver, filter);

Yayın Alıcı Kaldırma

Yayın alıcıları, unregisterReceiver() yöntemini kullanarak kayıttan kaldırılabilir:

java
unregisterReceiver(myBroadcastReceiver);

Yayın Gönderme

Yayınlar, Intent sınıfını kullanarak gönderilir. Bir Intent nesnesi, yayınla ilişkili verileri içerir.

java
Intent intent = new Intent();
intent.setAction(Intent.ACTION_POWER_CONNECTED);
sendBroadcast(intent);

Faydalı Siteler ve Dosyalar

Sonuç

Android yayın alıcıları, uygulamaların sistem olaylarına ve diğer uygulamalardan gelen yayınlara yanıt vermesini sağlayan güçlü bir araçtır. Yayın alıcıları kullanarak, uygulamalar kullanıcı etkileşimi olmadan arka planda olaylara yanıt verebilir ve cihazın durumundaki değişikliklere uyum sağlayabilir. Bu kılavuz, yayın alıcılarının çalışma prensibini, farklı türlerini, nasıl oluşturulacağını, kaydedileceğini ve kaldırılacağını ve yayınların nasıl gönderileceğini açıklamıştır.


Yayımlandı