Android Broadcast Receiver Service

Android Yayın Alıcısı Hizmetleri: Kapsamlı Bir Kılavuz

Giriş

Yayın alıcısı hizmetleri, Android uygulamalarının sistem olaylarına ve diğer uygulamalardan gelen mesajlara yanıt vermesine olanak tanıyan temel bir Android bileşenidir. Bu hizmetler, uygulamaların arka planda çalışmasına, kullanıcı etkileşimine gerek kalmadan olaylara yanıt vermesine ve diğer uygulamalarla iletişim kurmasına olanak tanır.

Yayın Alıcısı Hizmetlerinin Çalışma Prensibi

Yayın alıcısı hizmetleri, yayınlar olarak bilinen mesajları dinler. Yayınlar, sistem veya diğer uygulamalar tarafından oluşturulabilir ve belirli olayları veya mesajları temsil eder. Bir yayın alıcısı hizmeti, dinlediği yayın türlerini bir yayın filtresi aracılığıyla belirtir.

Bir yayın tetiklendiğinde, Android sistemi yayın alıcısı hizmetini başlatır ve ona bir Intent nesnesi iletir. Intent, yayınla ilgili bilgileri içerir, örneğin yayın eylemi, veriler ve gönderen. Yayın alıcısı hizmeti daha sonra Intent’i işleyebilir ve uygun şekilde yanıt verebilir.

Yayın Alıcısı Hizmetlerinin Türleri

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

  • Açık Yayın Alıcıları: Bu yayın alıcısı hizmetleri, herhangi bir uygulama tarafından dinlenebilir. Genellikle sistem olaylarına yanıt vermek için kullanılırlar, örneğin cihazın önyüklenmesi veya pil seviyesinin değişmesi.
  • Gizli Yayın Alıcıları: Bu yayın alıcısı hizmetleri yalnızca belirli uygulamalar tarafından dinlenebilir. Genellikle uygulamalar arasında iletişim kurmak için kullanılırlar.

Yayın Alıcısı Hizmetleri Oluşturma

Yayın alıcısı hizmetleri, bir BroadcastReceiver alt sınıfı oluşturarak oluşturulur. Bu alt sınıf, onReceive() adlı bir yöntemi geçersiz kılmalıdır. onReceive() yöntemi, yayın alıcısı hizmetinin bir yayın aldığında çağrılır.

Aşağıdaki kod örneği, cihazın önyüklendiğinde tetiklenen bir açık yayın alıcısı hizmeti oluşturur:

“`java
public class BootReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // Cihaz önyüklendiğinde yapılacak işlemler
}

}
“`

Yayın Alıcısı Hizmetlerini Kaydetme

Yayın alıcısı hizmetleri, AndroidManifest.xml dosyasına kaydedilmelidir. Aşağıdaki kod örneği, BootReceiver yayın alıcısı hizmetini kaydeder:

xml
<receiver android:name=".BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

Yayın Alıcısı Hizmetlerini Kullanma

Yayın alıcısı hizmetleri, yayın göndererek kullanılabilir. Yayınlar, Intent nesneleri kullanılarak oluşturulur ve Context.sendBroadcast() yöntemi kullanılarak gönderilir. Aşağıdaki kod örneği, bir yayın gönderir:

java
Intent intent = new Intent("com.example.app.MY_CUSTOM_ACTION");
context.sendBroadcast(intent);

Faydalı Kaynaklar


Yayımlandı