- söz dizimi:
-
<provider android:authorities="list" android:directBootAware=["true" | "false"] android:enabled=["true" | "false"] android:exported=["true" | "false"] android:grantUriPermissions=["true" | "false"] android:icon="drawable resource" android:initOrder="integer" android:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"] android:label="string resource" android:multiprocess=["true" | "false"] android:name="string" android:permission="string" android:process="string" android:readPermission="string" android:syncable=["true" | "false"] android:writePermission="string" > ... </provider>
- içinde bulunan:
-
<application> - Şunları içerebilir:
<meta-data><grant-uri-permission><intent-filter><path-permission><property>- description:
-
İçerik sağlayıcı bileşenini bildirir. İçerik sağlayıcı,
ContentProvidersınıfının bir alt sınıfıdır ve uygulama tarafından yönetilen verilere yapılandırılmış erişim sağlar. Uygulamanızdaki tüm içerik sağlayıcılar, manifesto dosyasındaki bir<provider>öğesinde tanımlanmalıdır. Aksi takdirde sistem bunları algılamaz ve çalıştırmaz.Yalnızca uygulamanızda yer alan içerik sağlayıcıları beyan edin. Uygulamanızda kullandığınız diğer uygulamalarda içerik sağlayıcıları bildirmeyin.
Android sistemi, içerik sağlayıcılarla ilgili referansları sağlayıcının içerik URI'si'sinin bir parçası olan authority dizesine göre depolar. Örneğin, sağlık profesyonelleriyle ilgili bilgileri depolayan bir içerik sağlayıcıya erişmek istediğinizi varsayalım. Bunu yapmak için, sağlayıcıyı tanımlayan bir URI'nin yanı sıra başka bağımsız değişkenler alan
ContentResolver.query()yöntemini çağırırsınız:content://com.example.project.healthcareprovider/nurses/rn
content:Şema, URI'yi bir Android içerik sağlayıcısına yönlendiren bir içerik URI'si olarak tanımlar. Yetkilicom.example.project.healthcareprovider, sağlayıcıyı tanımlar. Android sistemi, bilinen sağlayıcılar ve yetkilileri listesinde yetkiliyi arar.nurses/rnalt dizesi, içerik sağlayıcının sağlayıcı verilerinin alt kümelerini tanımlamak için kullandığı bir yoldur.Sağlayıcınızı
<provider>öğesinde tanımlarkenandroid:namebağımsız değişkenine şemayı veya yolu değil, yalnızca yetkiliyi eklersiniz.İçerik sağlayıcıları kullanma ve geliştirme hakkında bilgi için İçerik sağlayıcılar başlıklı makaleyi inceleyin.
- özellikleri:
-
android:authorities-
İçerik sağlayıcı tarafından sunulan verileri tanımlayan bir veya daha fazla URI yetkilisinin listesi.
Adlarını noktalı virgülle ayırarak birden fazla yetkiliyi listeleyin.
Çakışmaları önlemek için yetkili adlarında Java tarzı bir adlandırma sistemi kullanın. Örneğin,
com.example.provider.cartoonprovider. Genellikle, sağlayıcıyı uygulayanContentProvideralt sınıfının adıdır.Varsayılan değer yoktur. En az bir yetkili belirtilmelidir.
android:enabled- İçerik sağlayıcının sistem tarafından oluşturulup oluşturulamayacağı. Mümkünse
"true", değilse"false"değerini girin. Varsayılan değer"true"'dır.<application>öğesinin, içerik sağlayıcılar da dahil olmak üzere tüm uygulama bileşenleri için geçerli olan kendienabledözelliği vardır. İçerik sağlayıcının etkinleştirilmesi için hem<application>hem de<provider>özelliklerinin"true"olması gerekir. Bu özellikler varsayılan olarak"true"'dir. Bunlardan biri"false"ise sağlayıcı devre dışı bırakılır. Örneklenemez. android:directBootAwareİçerik sağlayı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 içerik sağlayıcı yalnızca cihaz korumalı depolama alanında saklanan verilere erişebilir.
Varsayılan değer
"false"'dır.android:exported-
İçerik sağlayıcının diğer uygulamalar tarafından kullanılıp kullanılamadığı.
-
"true": Sağlayıcı, diğer uygulamalarda kullanılabilir. Herhangi bir uygulama, sağlayıcı için belirtilen izinlere tabi olarak sağlayıcının içerik URI'sini kullanarak içeriğe erişebilir. -
"false": Sağlayıcı diğer uygulamalarda kullanılamaz. Sağlayıcıya erişimi uygulamalarınızla sınırlamak içinandroid:exported="false"'yı ayarlayın. Yalnızca sağlayıcıyla aynı kullanıcı kimliğine (UID) sahip uygulamalar veyaandroid:grantUriPermissionsöğesi aracılığıyla sağlayıcıya geçici olarak erişim izni verilen uygulamalar bu öğeye erişebilir.
Bu özellik API düzeyi 17'de kullanıma sunulduğundan API düzeyi 16 ve daha düşük sürümleri çalıştıran tüm cihazlar, bu özellik
"true"olarak ayarlanmış gibi davranır.android:targetSdkVersiondeğerini 17 veya daha yüksek bir değere ayarlarsanız API düzeyi 17 ve sonraki sürümleri çalıştıran cihazlarda varsayılan değer"false"olur.android:exported="false"ayarlayabilir vepermissionözelliğiyle izinleri ayarlayarak sağlayıcınıza erişimi sınırlayabilirsiniz. -
android:grantUriPermissionsNormalde içerik sağlayıcının verilerine erişme izni olmayan kişilere,
readPermission,writePermission,permissionveexportedözelliklerinin getirdiği kısıtlamayı geçici olarak aşarak bu iznin verilip verilemeyeceği.İzin verilebiliyorsa
"true", verilemiyorsa"false"gösterilir."true"ise içerik sağlayıcının verilerinin herhangi birine izin verilebilir."false"değeri belirlenirse izin yalnızca<grant-uri-permission>alt öğelerinde listelenen veri alt kümelerine (varsa) verilebilir. Varsayılan değer"false"'dır.İzin verme, bir uygulama bileşenine izinle korunan verilere tek seferlik erişim sağlamanın bir yoludur. Örneğin, bir e-posta iletisinde ek olduğunda, içerik sağlayıcının verilerinin tamamına bakmak için genel izni olmasa bile posta uygulaması, eki açmak için uygun görüntüleyiciyi çağırabilir.
Bu gibi durumlarda, bileşeni etkinleştiren
IntentnesnesindekiFLAG_GRANT_READ_URI_PERMISSIONveFLAG_GRANT_WRITE_URI_PERMISSIONişaretleri tarafından izin verilir. Örneğin, posta uygulamasıFLAG_GRANT_READ_URI_PERMISSIONdeğeriniContext.startActivity()'ye iletilenIntentiçine yerleştirebilir. İzin,Intentiçindeki URI'ye özeldir.Bu özelliği etkinleştirirseniz (bu özelliği
"true"olarak ayarlayarak veya<grant-uri-permission>alt öğelerini tanımlayarak) kapsanan bir URI sağlayıcıdan silindiğindeContext.revokeUriPermission()işlevini çağırın.Ayrıca
<grant-uri-permission>öğesine de bakın.android:icon- İçerik sağlayı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. Daha fazla bilgi için
<application>öğesininiconözelliğine bakın. android:initOrder- İçerik sağlayıcının, aynı işlem tarafından barındırılan diğer içerik sağlayıcılara göre örneklendiği sıra. İçerik sağlayıcılar arasında bağımlılıklar olduğunda bu özelliği her biri için ayarlamak, bunların söz konusu bağımlılıkların gerektirdiği sırada oluşturulmasını sağlar. Değer bir tam sayıdır ve daha yüksek sayılar önce başlatılır.
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.
<provider>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 noneGelen 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, noneişaretine öncelik verilerek çözülür.enforceIntentFilterGelen 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.
allowNullActionEş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
enforceIntentFilterile 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- Sağlanan içerik için kullanıcı tarafından okunabilir bir etiket.
Bu özellik ayarlanmazsa bunun yerine uygulamanın tamamı için ayarlanan etiket kullanılır. Daha fazla bilgi için
<application>öğesininlabelözelliğine bakın.Etiket genellikle bir dize kaynağına referans olarak ayarlanır. Böylece, kullanıcı arayüzündeki diğer dizeler gibi yerelleştirilebilir. Ancak uygulamayı geliştirirken kolaylık sağlaması için ham dize olarak da ayarlanabilir.
android:multiprocess- Uygulama birden fazla işlemde çalışıyorsa bu özellik, içerik sağlayıcının birden fazla örneğinin oluşturulup oluşturulmayacağını belirler.
"true"ise uygulamanın her işleminin kendi içerik sağlayıcı nesnesi vardır."false"ise uygulamanın işlemleri yalnızca bir içerik sağlayıcı nesnesi paylaşır. Varsayılan değer"false"'dır.Bu işareti
"true"olarak ayarlamak, işlemler arası iletişimin ek yükünü azaltarak performansı artırabilir ancak her sürecin bellekte kapladığı yeri de artırır. android:name- İçerik sağlayıcıyı uygulayan sınıfın adı,
ContentProvideralt sınıfı. Bu genellikle tam nitelikli bir sınıf adıdır (ör."com.example.project.TransportationProvider"). Ancak kısa bir yol olarak, adın ilk karakteri nokta ise bu karakter,<manifest>öğesinde belirtilen paket adına eklenir.Varsayılan değer yoktur. Ad belirtilmelidir.
android:permissionİstemcilerin içerik sağlayıcının verilerini okumak veya yazmak için sahip olması gereken iznin adı. Bu özellik, hem okuma hem de yazma için tek bir izin ayarlamanın kolay bir yoludur. Ancak
readPermission,writePermissionvegrantUriPermissionsözellikleri bu özelliğe göre önceliklidir.readPermissionözelliği de ayarlanmışsa içerik sağlayıcıya sorgu gönderme erişimini kontrol eder.writePermissionözelliği ayarlanmışsa sağlayıcının verilerini değiştirme erişimini kontrol eder.İ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İçerik sağlayıcının çalıştığı sürecin 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>öğesininprocessözelliği, tüm bileşenler için farklı bir varsayılan değer ayarlayabilir. Ancak her bileşen, varsayılan değeri kendiprocessö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 etkinlik bu işlemde çalışır.İşlem adı küçük harfle başlıyorsa etkinlik, bu ada sahip 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.
android:readPermissionİstemcilerin içerik sağlayıcıya sorgu göndermek için sahip olması gereken izin.
Sağlayıcı
android:grantUriPermissionsdeğerini"true"olarak ayarlarsa veya belirli bir istemci<grant-uri-permission>alt öğesinin koşullarını karşılarsa istemci, içerik sağlayıcının verilerine geçici okuma erişimi kazanabilir.Ayrıca
permissionvewritePermissionözelliklerine de bakın.android:syncable- İçerik sağlayıcının kontrolündeki verilerin bir sunucudaki verilerle senkronize edilip edilemeyeceği. Mümkünse
"true", değilse"false". android:writePermissionMüşterilerin, içerik sağlayıcı tarafından kontrol edilen verilerde değişiklik yapması için gereken izin.
Sağlayıcı
android:grantUriPermissionsdeğerini"true"olarak ayarlarsa veya belirli bir istemci<grant-uri-permission>alt öğesinin koşullarını karşılarsa istemci, içerik sağlayıcının verilerini değiştirmek için geçici yazma erişimi kazanabilir.Ayrıca
permissionvereadPermissionözelliklerine de bakın.
- Tanıtıldığı oyun:
- API düzeyi 1
- Ayrıca:
- İçerik sağlayıcılar
<sağlayı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: 2026-07-03 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: 2026-07-03 UTC."],[],[]]