<alıcı>

söz dizimi:
<receiver android:directBootAware=["true" | "false"]
          android:enabled=["true" | "false"]
          android:exported=["true" | "false"]
          android:icon="drawable resource"
          android:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"]
          android:label="string resource"
          android:name="string"
          android:permission="string"
          android:process="string" >
    ...
</receiver>
içinde bulunan:
<application>
Şunları içerebilir:
<intent-filter>
<meta-data>
<property>
description:
Bir yayın alıcıyı, BroadcastReceiver alt sınıfı, uygulamanın bileşenlerinden biri olarak bildirir. Yayın alıcıları, uygulamanın diğer bileşenleri çalışmıyorken bile uygulamaların sistem veya diğer uygulamalar tarafından yayınlanan amaçları almasını sağlar.

Yayın alıcısını sisteme bildirmenin iki yolu vardır. Birincisi, bu öğeyle birlikte manifest dosyasında bildirmektir. Diğer yöntem ise alıcıyı kodda dinamik olarak oluşturup Context.registerReceiver() yöntemiyle veya aşırı yüklenmiş sürümlerinden biriyle kaydetmektir.

Alıcıları dinamik olarak oluşturma hakkında daha fazla bilgi için BroadcastReceiver sınıfı açıklamasını inceleyin.

Bu alıcı, sistem dışı yayınları işliyorsa android:exported için bir değer belirtin. Alıcınızın diğer uygulamalardan yayın alabilmesini istiyorsanız bu değeri "true" olarak, yalnızca kendi uygulamanızdan yayın alabilmesini istiyorsanız "false" olarak ayarlayın.

android:permission özelliğini daha önce bildirdiyseniz kaldırmanız gerekmez.

Uyarı: Uygulamanızda ayarladığınız yayın alıcı sayısını sınırlayın. Çok fazla yayın alıcı olması, uygulamanızın performansını ve kullanıcıların cihazlarının pil ömrünü etkileyebilir. Arka plan görevlerini planlamak için BroadcastReceiver sınıfı yerine kullanabileceğiniz API'ler hakkında daha fazla bilgi için Arka plan optimizasyonu başlıklı makaleyi inceleyin.

özellikleri:
android:directBootAware

Yayın alıcının Direct-Boot aware olup olmadığı, yani kullanıcının cihazın kilidini açmasından önce çalışıp çalışamayacağı.

Not: Doğrudan başlatma sırasında uygulamanızdaki bir yayın alıcısı yalnızca cihaz korumalı depolama alanında saklanan verilere erişebilir.

Varsayılan değer "false"'dır.

android:enabled
Yayın alıcısının sistem tarafından başlatılıp başlatılamayacağı. Mümkünse "true", değilse "false" değerini girin. Varsayılan değer "true"'dır.

<application> öğesinin, yayın alıcılar da dahil olmak üzere tüm uygulama bileşenleri için geçerli olan kendi enabled özelliği vardır. Yayın alıcının etkinleştirilmesi için hem <application> hem de <receiver> özellikleri "true" olmalıdır. Her ikisi de "false" ise devre dışı bırakılır ve başlatılamaz.

android:exported
Yayın alıcının, uygulaması dışındaki sistem dışı kaynaklardan mesaj alıp alamayacağı. Bu özellik destekleniyorsa "true", desteklenmiyorsa "false" değerini girin. "false" ise yayın alıcının aldığı tek mesajlar sistem, aynı uygulamanın bileşenleri veya aynı kullanıcı kimliğine sahip uygulamalar tarafından gönderilenlerdir.

Belirtilmediği takdirde varsayılan değer, yayın alıcının amaç filtreleri içerip içermediğine bağlıdır. Alıcı en az bir intent filtresi içeriyorsa varsayılan değer "true" olur. Aksi takdirde varsayılan değer "false" olur.

Bu özellik, yayın alıcının harici etkisini sınırlamanın tek yolu değildir. Ayrıca, mesaj gönderebilecek harici kuruluşları sınırlamak için de izin kullanabilirsiniz. permission özelliğini inceleyin.

android:icon
Yayın alıcıyı temsil eden bir simge. Bu özellik, resim tanımını içeren drawable kaynağa referans olarak ayarlanır. Ayarlanmamışsa bunun yerine uygulamanın tamamı için belirtilen simge kullanılır. <application> öğesinin icon özelliğine bakın.

Burada veya <application> öğesi tarafından ayarlanan yayın alıcının simgesi, alıcının tüm amaç filtrelerinin varsayılan simgesidir. <intent-filter> öğesinin icon özelliğine bakın.

android:intentMatchingFlags

Sistemin gelen amaçları uygulama bileşenleriyle nasıl eşleştirdiğine ince ayar yapmak için bu özelliği kullanın. Varsayılan olarak özel eşleşme kuralları uygulanmaz.

<receiver> etiketinde ayarlanan değer, <application> etiketinde ayarlanan değeri geçersiz kılar.

Değer, "|" ile ayrılmış aşağıdaki işaretlerden biri veya daha fazlası olmalıdır:

İşaret Açıklama
none Gelen amaçlar için tüm özel eşleşme kurallarını devre dışı bırakır. Birden fazla işaret belirtirken çakışan değerler, none işaretine öncelik verilerek çözülür.
enforceIntentFilter

Gelen intent'ler için daha katı eşleşme uygular:

  • Açık amaçlar, hedef bileşenin amaç filtresiyle eşleşmelidir.
  • İşlemi olmayan amaçlar, herhangi bir amaç filtresiyle eşleşmez.
allowNullAction

Eşleşme kurallarını gevşeterek işlem içermeyen niyetlerin eşleşmesine izin verir. Bu işaret, aşağıdaki davranışı elde etmek için enforceIntentFilter ile birlikte kullanılır:

  • Açık amaçlar, hedef bileşenin amaç filtresiyle eşleşmelidir.
  • İşlem içermeyen amaçların herhangi bir amaç filtresiyle eşleşmesine izin verilir.

Daha fazla bilgi için Android 16'daki (API düzeyi 36) davranış değişiklikleri bölümündeki Daha Güvenli Amaçlar'a göz atın.

android:label
Yayın alıcısı için kullanıcı tarafından okunabilir bir etiket. Bu özellik ayarlanmazsa bunun yerine uygulamanın tamamı için ayarlanan etiket kullanılır. <application> öğesinin label özelliğine bakın.

Burada veya <application> öğesi tarafından ayarlanan yayın alıcısının etiketi, alıcının tüm amaç filtrelerinin varsayılan etiketidir. <intent-filter> öğesinin label özelliğine bakın.

Etiket, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilmesi için dize kaynağına referans olarak ayarlanır. Ancak uygulamayı geliştirirken kolaylık sağlaması için ham dize olarak da ayarlanabilir.

android:name
Yayın alıcıyı uygulayan sınıfın adı, BroadcastReceiver alt sınıfı. Bu, "com.example.project.ReportReceiver" gibi tam nitelikli bir sınıf adıdır. Ancak, kısa yol olarak, adın ilk karakteri nokta ise (ör. ".ReportReceiver"), <manifest> öğesinde belirtilen paket adına eklenir.

Uygulamanızı yayınladıktan sonra android:exported="false" ayarını yapmadığınız sürece bu adı değiştirmeyin.

Varsayılan değer yoktur. Ad belirtilmelidir.

android:permission
Yayıncıların yayın alıcısına mesaj göndermek için ihtiyaç duyduğu iznin adı. Bu özellik ayarlanmamışsa <application> öğesinin permission özelliği tarafından ayarlanan izin, yayın alıcısı için geçerli olur. İki özellik de ayarlanmamışsa alıcı, izinle korunmaz.

İzinler hakkında daha fazla bilgi için uygulama manifestine genel bakış bölümündeki İzinler ve Güvenlik ipuçları başlıklı makaleleri inceleyin.

android:process

Yayın alıcısının çalıştığı işlemin adı. Normalde, bir uygulamanın tüm bileşenleri, uygulama için oluşturulan varsayılan süreçte çalışır. Uygulama paketiyle aynı ada sahiptir.

<application> öğesinin process özelliği, tüm bileşenler için farklı bir varsayılan değer ayarlayabilir. Ancak her bileşen, varsayılan değeri kendi process özelliğiyle geçersiz kılabilir. Bu sayede uygulamanızı birden fazla işleme yayabilirsiniz.

Bu özelliğe atanan ad iki nokta üst üste işaretiyle (:) başlıyorsa gerektiğinde uygulamaya özel yeni bir işlem oluşturulur ve yayın alıcısı bu işlemde çalışır.

İşlem adı küçük harfle başlıyorsa alıcı, bu adı taşıyan genel bir işlemde çalışır (bunun için gerekli izne sahip olması koşuluyla). Bu sayede farklı uygulamalardaki bileşenler bir işlemi paylaşabilir ve kaynak kullanımı azaltılabilir.

Tanıtıldığı oyun:
API düzeyi 1