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.