Android Broadcast Kullanımı

Android Yayın Kullanımı: Kapsamlı Bir Kılavuz

Android yayınlar, uygulamalar arasında iletişim kurmak için kullanılan güçlü bir mekanizmadır. Uygulamaların birbirleriyle etkileşime girmesine, olayları dinlemesine ve yayınlamasına olanak tanırlar. Bu kılavuz, Android yayınlarını kullanma konusunda kapsamlı bir genel bakış sağlayacaktır.

Yayınlar Nelerdir?

Yayınlar, uygulamalar arasında iletişim kurmak için kullanılan mesajlardır. Bir yayın, bir olayı temsil eden bir dizedir ve bir veya daha fazla alıcıya gönderilebilir. Alıcılar, yayınlara kaydolabilir ve yayınlandıklarında bildirim alabilirler.

Yayın Türleri

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

  • Sistem Yayınları: Android sistemi tarafından oluşturulan ve uygulamaların sistem olaylarını dinlemesine olanak tanıyan yayınlardır. Örneğin, cihazın pil seviyesi değiştiğinde veya bir uygulama yüklendiğinde sistem yayınları gönderilir.
  • Özel Yayınlar: Uygulamalar tarafından oluşturulan ve diğer uygulamaların dinlemesine olanak tanıyan yayınlardır. Özel yayınlar, uygulamalar arasında özel iletişim için kullanılabilir.

Yayın Kaydı

Uygulamalar, yayınlara IntentFilter sınıfını kullanarak kaydolabilirler. IntentFilter, uygulamanın dinlemek istediği yayınların eylemlerini ve kategorilerini belirtir. Örneğin, bir uygulama pil seviyesi değişikliklerini dinlemek için aşağıdaki filtreyi kullanabilir:

java
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);

Yayın Gönderme

Uygulamalar, Intent sınıfını kullanarak yayın gönderebilirler. Intent nesnesi, yayın eylemini ve isteğe bağlı olarak ek verileri içerir. Örneğin, bir uygulama pil seviyesi değişikliği yayınlamak için aşağıdaki kodu kullanabilir:

java
Intent intent = new Intent();
intent.setAction(Intent.ACTION_BATTERY_CHANGED);
intent.putExtra("level", batteryLevel);
sendBroadcast(intent);

Yayın Alıcıları

Yayın alıcıları, yayınlara yanıt veren bileşenlerdir. Yayın alıcıları, BroadcastReceiver sınıfından türetilir ve onReceive() yöntemini geçersiz kılar. onReceive() yöntemi, yayın alındığında çağrılır ve yayın verilerini işleyebilir. Örneğin, pil seviyesi değişikliklerini işleyen bir yayın alıcısı aşağıdaki gibi görünebilir:

“`java
public class BatteryReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    int level = intent.getIntExtra("level", 0);
    // Pil seviyesi değişikliğini işleyin
}

}
“`

Yayın Alıcı Kaydı

Yayın alıcıları, AndroidManifest.xml dosyasında yayın filtreleriyle birlikte kaydedilmelidir. Örneğin, pil seviyesi değişikliklerini dinleyen bir yayın alıcısını kaydetmek için aşağıdaki kod kullanılabilir:

xml
<receiver android:name=".BatteryReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED" />
</intent-filter>
</receiver>

Yayın İzinleri

Özel yayınlar göndermek için uygulamaların SEND_BROADCAST iznine ihtiyacı vardır. Bu izin, AndroidManifest.xml dosyasında aşağıdaki gibi bildirilmelidir:

xml
<uses-permission android:name="android.permission.SEND_BROADCAST" />

Faydalı Kaynaklar


Yayımlandı