- söz dizimi:
<receiver android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:process="string" > ... </receiver>
- bulunduğu yer:
<application>
- şunları içerebilir:
<intent-filter>
<meta-data>
- description:
- Bir yayın alıcı belirtiyor, bir
BroadcastReceiver
alt sınıfını kullanabilir. Yayın alıcıları etkinleştir uygulamaların sistem veya başkaları tarafından yayınlanan amaçları almak için uygulamaların çalışmadığından emin olun.Bir yayın alıcısını sisteme bildirmenin iki yolu vardır. Birincisi, manifest dosyasında bu öğeyi kullanın. Diğeri de proje yaşam döngüsü kodda dinamik olarak alır ve bunu
Context.registerReceiver()
. yöntemini veya aşırı yüklenmiş sürümlerinden birini kullanın.Dinamik olarak alıcı oluşturma hakkında daha fazla bilgi için
BroadcastReceiver
sınıf dokunun.Bu alıcı sistem dışı yayınları işliyorsa
android:exported
için bir değer belirtin. Alıcınızın şunları yapmasını istiyorsanız bu değeri"true"
olarak ayarlayın: diğer uygulamalardan alıcı yayınları veya yalnızca"false"
Alıcınızın kendi uygulamanızdan anons alabilmesini istiyorsanız.Aşağıdaki durumlarda
android:permission
özelliğini kaldırmanız gerekmez: bildirmiştiniz.Uyarı: Yayınlanacak yayın sayısını sınırlandırın en iyi uygulamaları görebiliriz. Çok fazla yayın alıcınızın olması uygulamanızın performansını ve kullanıcıların pil ömrünü etkiler cihazlar. Arka plan çalışması planlamak için
BroadcastReceiver
ders, bkz. Arka plan optimizasyonu. - özellikler:
android:directBootAware
Yayın alıcısının Doğrudan Başlatma'ya duyarlı olup olmadığı çalıştırılıp çalıştırılamayacağını belirler.
Not: Doğrudan Başlatma, bir yayın uygulamadaki alıcı, yalnızca Google Apps Kasası'nda cihaz korumalı depolama alanı.
Varsayılan değer
"false"
değeridir.android:enabled
- Yayın alıcısının sistem tarafından örneklenip başlatılamayacağı. İnsanların
Mümkünse
"true"
, değilse"false"
. Varsayılan değer"true"
.<application>
öğesi kendine ait Tümü için geçerli olanenabled
özelliği yayın alıcıları da dahil olmak üzere uygulama bileşenlerini kullanarak düzenleyebilirsiniz. İlgili içeriği oluşturmak için kullanılan<application>
ve<receiver>
özelliklerinin her ikisi de"true"
olmalıdır yayın alıcısına devre dışı bırakabilirsiniz. İkisinden biri"false"
ise devre dışı olduğundan örnek oluşturulamıyor. android:exported
- Yayın alıcısının sistem dışı kaynaklardan mesaj alıp alamayacağı
olduğunu varsayalım. Mümkünse
"true"
ve"false"
e-posta gönderin."false"
ise yalnızca yayın alıcısına mesaj gönderilir. sistem, aynı uygulamanın bileşenleri veya uygulamalar tarafından gönderilen iletiler aynı kullanıcı kimliğine sahip olmalıdır.Belirtilmemişse varsayılan değer, yayın alıcısının intent içerip içermediğine bağlıdır filtrelerine dokunun. Alıcı en az bir intent filtresi içeriyorsa varsayılan değer
"true"
Diğer durumlarda varsayılan değer"false"
olur.Bu özellik, yayın alıcısının harici olarak maruz kalmasını sınırlamanın tek yolu değildir. Ayrıca, ilgili izni mesaj gönderebilecek harici varlıkları sınırlandırmak için de kullanabilirsiniz.
permission
özelliğine bakın. android:icon
- Yayın alıcısını temsil eden bir simge. Bu özellik ayarlandı
referans olarak kullanır.
Politika ayarlanmazsa uygulamanın tamamı için belirtilen simge kullanılır
.
<application>
inceleyin. öğesininicon
özelliği.Yayın alıcısının simgesi (burada,
<application>
öğesi, aynı zamanda tüm alıcının intent filtreleri için varsayılan simge. Bkz.<intent-filter>
öğesininicon
özelliği için de geçerlidir. android:label
- Yayın alıcı için kullanıcı tarafından okunabilen bir etiket. Bu özellik
bir bütün olarak uygulama için ayarlanan etiket
kullanılır.
<application>
öğesinin şuna bakın:label
özelliği için de geçerlidir.Yayın alıcısının etiketi (burada ya da Google tarafından
<application>
öğesi, aynı zamanda tüm alıcının intent filtreleri için varsayılan etikettir. Bkz.<intent-filter>
öğesininlabel
özelliği için de geçerlidir.Etiket, bir dize kaynağına başvuru olarak ayarlanır. Böylece, bu dizeler, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilir. Ancak, uygulamayı geliştirirken size kolaylık olması açısından, aynı zamanda ham dize olarak da ayarlanabilir.
android:name
- Yayın alıcısını uygulayan sınıfın adı,
BroadcastReceiver
. Bu, şirketinizin"com.example.project.ReportReceiver"
gibi bir ad girin. Ancak, Örneğin, adın ilk karakteri noktaysa".ReportReceiver"
,<manifest>
öğesi.Uygulamanızı yayınladıktan sonra bu adı değiştiremezsiniz (
android:exported="false"
değerini ayarlamadığınız sürece).Varsayılan yoktur. Ad belirtilmelidir.
android:permission
- Yayıncıların
mesajın gönderilmesini sağlar.
Bu özellik ayarlanmazsa
<application>
öğesininpermission
özelliği geçerlidir alıcısına gönderilir. Hiçbir özellik ayarlanmazsa alıcı bir izinle korunmuyor.İzinler hakkında daha fazla bilgi için İzinler bölümünü inceleyin ve Güvenlik ipuçları.
android:process
- Yayın alıcının çalıştığı işlemin adı.
Normalde bir uygulamanın tüm bileşenleri, oluşturulan varsayılan işlemde
belirtiliyor. Uygulama paketiyle aynı ada sahiptir.
İlgili içeriği oluşturmak için kullanılan
<application>
öğesininprocess
özelliği farklı bir değer ayarlayabilir varsayılan olarak ayarlamanız gerekir. Ancak her bileşen, varsayılan bileşeni geçersiz kılabilir kendine aitprocess
özelliğine sahip. Böylece, birden fazla işlemde kullanılabilir.Bu özelliğe atanan ad iki nokta üst üste (
:
) ile başlıyorsa yeni bir uygulamaya özel olarak sunulan bir süreçtir ve yayın alıcı bu işlemde çalışır.İşlem adı küçük harfle başlıyorsa alıcı, buna izin verilmesi gerekir. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına izin verir ve kaynak kullanımını anlatır.
- tanıtıldığı yer:
- API düzeyi 1
<alıcı>
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# <receiver\u003e\n\nsyntax:\n:\n\n ```xml\n \u003creceiver android:directBootAware=[\"true\" | \"false\"]\n android:enabled=[\"true\" | \"false\"]\n android:exported=[\"true\" | \"false\"]\n android:icon=\"drawable resource\"\n android:label=\"string resource\"\n android:name=\"string\"\n android:permission=\"string\"\n android:process=\"string\" \u003e\n ...\n \u003c/receiver\u003e\n ```\n\ncontained in:\n: [\u003capplication\u003e](/guide/topics/manifest/application-element)\n\ncan contain:\n: [\u003cintent-filter\u003e](/guide/topics/manifest/intent-filter-element)\n\n [\u003cmeta-data\u003e](/guide/topics/manifest/meta-data-element)\n\ndescription:\n: Declares a broadcast receiver, a [BroadcastReceiver](/reference/android/content/BroadcastReceiver)\n subclass, as one of the application's components. Broadcast receivers enable\n applications to receive intents that are broadcast by the system or by other\n applications, even when other components of the application aren't running.\n\n\n There are two ways to make a broadcast receiver known to the system. One is to\n declare it in the manifest file with this element. The other is to create\n the receiver dynamically in code and register it with the\n [Context.registerReceiver()](/reference/android/content/Context#registerReceiver(android.content.BroadcastReceiver,%20android.content.IntentFilter))\n method or one of its overloaded versions.\n\n\n For more information about how to dynamically create receivers, see the\n [BroadcastReceiver](/reference/android/content/BroadcastReceiver) class\n description.\n\n\n If this receiver handles non-system broadcasts, specify a value for `android:exported`.\n Set this value to `\"true\"` if you want your receiver to be able to\n receiver broadcasts from other applications or `\"false\"` if you only\n want your receiver to be able to receive broadcasts from your own app.\n\n\n You don't have to remove the `android:permission` attribute if you\n already declared it.\n\n\n **Warning:** Limit how many broadcast\n receivers you set in your app. Having too many broadcast receivers can\n affect your app's performance and the battery life of users' devices.\n For more information about APIs you can use instead of the\n `BroadcastReceiver` class for scheduling background work, see\n [Background optimization](/topic/performance/background-optimization).\n\nattributes:\n:\n\n `android:directBootAware`\n\n : Whether the broadcast receiver is *Direct-Boot aware*, that\n is, whether it can run before the user unlocks the device.\n\n **Note:** During\n [Direct Boot](/training/articles/direct-boot), a broadcast\n receiver in your application can only access the data that is stored in\n *device protected* storage.\n\n The default value is `\"false\"`.\n\n `android:enabled`\n : Whether the broadcast receiver can be instantiated by the system. It's\n `\"true\"` if it can be, and `\"false\"` if not. The default value\n is `\"true\"`.\n\n\n The [\u003capplication\u003e](/guide/topics/manifest/application-element) element has its own\n [enabled](/guide/topics/manifest/application-element#enabled) attribute that applies to all\n application components, including broadcast receivers. The\n `\u003capplication\u003e` and\n `\u003creceiver\u003e` attributes must both be `\"true\"` for\n the broadcast receiver to be enabled. If either is `\"false\"`, it's\n disabled and can't be instantiated.\n\n `android:exported`\n : Whether the broadcast receiver can receive messages from non-system sources\n outside its application. It's `\"true\"` if it can, and `\"false\"`\n if not. If `\"false\"`, the only messages the broadcast receiver\n receives are those sent by the system, components of the same application, or applications\n with the same user ID.\n\n\n If unspecified, the default value depends on whether the broadcast receiver contains intent\n filters. If the receiver contains at least one intent filter, then the default value is\n `\"true\"`. Otherwise, the default value is `\"false\"`.\n\n\n This attribute is not the only way to limit a broadcast receiver's external exposure.\n You can also use a permission to limit the external entities that can send it messages.\n See the [permission](/guide/topics/manifest/receiver-element#prmsn) attribute.\n\n `android:icon`\n : An icon representing the broadcast receiver. This attribute is set\n as a reference to a drawable resource containing the image definition.\n If it isn't set, the icon specified for the application as a whole is used\n instead. See the [\u003capplication\u003e](/guide/topics/manifest/application-element)\n element's [icon](/guide/topics/manifest/application-element#icon) attribute.\n\n\n The broadcast receiver's icon, whether set here or by the\n `\u003capplication\u003e` element, is also the\n default icon for all the receiver's intent filters. See the\n [\u003cintent-filter\u003e](/guide/topics/manifest/intent-filter-element) element's\n [icon](/guide/topics/manifest/intent-filter-element#icon) attribute.\n\n `android:label`\n : A user-readable label for the broadcast receiver. If this attribute isn't\n set, the label set for the application as a whole is\n used instead. See the [\u003capplication\u003e](/guide/topics/manifest/application-element) element's\n [label](/guide/topics/manifest/application-element#label) attribute.\n\n\n The broadcast receiver's label, whether set here or by the\n `\u003capplication\u003e` element, is also the\n default label for all the receiver's intent filters. See the\n [\u003cintent-filter\u003e](/guide/topics/manifest/intent-filter-element) element's\n [label](/guide/topics/manifest/intent-filter-element#label) attribute.\n\n\n The label is set as a reference to a string resource, so that\n it can be localized like other strings in the user interface.\n However, as a convenience while you're developing the application,\n it can also be set as a raw string.\n\n `android:name`\n : The name of the class that implements the broadcast receiver, a subclass of\n [BroadcastReceiver](/reference/android/content/BroadcastReceiver). This is a fully qualified\n class name, such as `\"com.example.project.ReportReceiver\"`. However,\n as a shorthand, if the first character of the name is a period, for example,\n `\".ReportReceiver\"`, it is appended to the package name specified in\n the [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element) element.\n\n Once you publish your application, [don't\n change this name](http://android-developers.blogspot.com/2011/06/things-that-cannot-change.html), unless you set [android:exported](#exported)`=\"false\"`.\n\n\n There is no default. The name must be specified.\n\n `android:permission`\n : The name of a permission that broadcasters need in order to send a\n message to the broadcast receiver.\n If this attribute isn't set, the permission set by the\n [\u003capplication\u003e](/guide/topics/manifest/application-element) element's\n [permission](/guide/topics/manifest/application-element#prmsn) attribute applies\n to the broadcast receiver. If neither attribute is set, the receiver\n isn't protected by a permission.\n\n\n For more information about permissions, see the\n [Permissions](/guide/topics/manifest/manifest-intro#perms)\n section in the app manifest overview and\n [Security tips](/guide/topics/security/security).\n\n `android:process`\n\n : The name of the process in which the broadcast receiver runs. Normally, all components of an application run in the default process created for the application. It has the same name as the application package.\u003cbr /\u003e\n\n The\n [\u003capplication\u003e](/guide/topics/manifest/application-element) element's\n [process](/guide/topics/manifest/application-element#proc) attribute can set a different\n default for all components. But each component can override the default\n with its own `process` attribute, letting you spread your\n application across multiple processes.\n\n\n If the name assigned to this attribute begins with a colon (`:`), a new\n process, private to the application, is created when it's needed, and\n the broadcast receiver runs in that process.\n\n\n If the process name begins with a lowercase character, the receiver runs\n in a global process of that name, provided that it has permission to do so.\n This lets components in different applications share a process, reducing\n resource usage.\n\nintroduced in:\n: API level 1"]]