<sağlayıcı>

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: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>
bulunduğu yer:
<application>
şunları içerebilir:
<meta-data>
<grant-uri-permission>
<intent-filter>
<path-permission>
description:
. Bir içerik sağlayıcı bileşeni tanımlar. İçerik sağlayıcı, ContentProvider tarafından yönetilen verilere yapılandırılmış erişim sağlayan bir uygulamadır. Uygulamanızdaki tüm içerik sağlayıcılar bir Manifest dosyasında <provider> öğesi. Aksi takdirde, sistem bunların farkında olmaz. ve çalıştırmaz.

Yalnızca uygulamanızın bir parçası olan içerik sağlayıcıları bildirin. Şu dilde içerik sağlayıcıları bildirmeyin: pek çok uygulama vardır.

Android sistemi, içerik sağlayıcılara yapılan referansları yetkililere göre depolar dizesi, sağlayıcının içerik URI'sinin bir parçasıdır. Örneğin, Arkadaş Bitkiler projesinin Sağlık uzmanlarıyla ilgili bilgilerin depolandığı bir içerik sağlayıcıya erişmek. Yapılacaklar yöntemi, metodu ContentResolver.query(), diğer bağımsız değişkenlerin yanı sıra sağlayıcıyı tanımlayan bir URI alır:

content://com.example.project.healthcareprovider/nurses/rn

content: şeması, URI'yı Android içerik sağlayıcısı. Yetkili com.example.project.healthcareprovider, sağlayıcıyı tanımlar. İlgili içeriği oluşturmak için kullanılan Android sistemi, bilinen sağlayıcılar ve yetkilileri listesinde yetkiliyi arar. nurses/rn alt dizesi, içerik sağlayıcının kullandığı bir yoldur sağlayıcı verilerinin alt kümelerini tanımlamak için kullanılır.

Sağlayıcınızı <provider> öğesinde tanımladığınızda android:name bağımsız değişkenine şemayı veya yolu dahil etmeyin, yalnızca yetkilidir.

İçerik sağlayıcıları kullanma ve geliştirme hakkında bilgi için İçerik sağlayıcılar.

özellikler:
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 amacıyla yetkili adları için Java tarzı bir adlandırma kuralı kullanın. com.example.provider.cartoonprovider gibi. Genellikle bu adı sağlayıcıyı uygulayan ContentProvider alt sınıfının

Varsayılan yoktur. En az bir yetkili belirtilmelidir.

android:enabled
İçerik sağlayıcının sistem tarafından örneklendirilebilir olup olmadığı. İnsanların Mümkünse "true", değilse "false". Varsayılan değer "true".

<application> öğesi kendine ait Tümü için geçerli olan enabled özelliği uygulama bileşenleri hakkında bilgi edindiniz. İlgili içeriği oluşturmak için kullanılan <application> <provider> özellikleri de "true" olmalıdır. içerik sağlayıcının etkinleştirilmesi için varsayılan olarak kullanılır. İkisinden biri "false", sağlayıcı devre dışı. Örneklendirilemez.

android:directBootAware

İçerik sağlayıcının Doğrudan Başlatma'ya duyarlı olup olmadığı, yani çalıştırılıp çalıştırılamayacağını belirler.

Not: Doğrudan Başlatma, bir içerik uygulamanızdaki sağlayıcı ise yalnızca şurada depolanan verilere erişebilir: cihaz korumalı depolama alanı.

Varsayılan değer "false" değeridir.

android:exported
. İçerik sağlayıcının diğer uygulamaların kullanımına açık olup olmadığı.
  • "true": Sağlayıcı, diğer uygulamalarda kullanılabilir. Her uygulama erişmek için sağlayıcının içerik URI'sini kullanın. Bu bilgi, sağlayıcıdır.
  • "false": Sağlayıcı, diğer uygulamalar tarafından kullanılamıyor. Ayarla android:exported="false": Sağlayıcınızın erişimini izin verir. Yalnızca sağlayıcıyla aynı kullanıcı kimliğine (UID) sahip uygulamalar veya veya uygulamalara geçici olarak erişim izni verilen uygulamalar aracılığıyla android:grantUriPermissions öğesine sahip olmayabilir.

Bu özellik API düzeyi 17'de kullanıma sunulduğundan, API düzeyi çalıştıran tüm cihazlar 16 ve altındaki değerler, bu özellik "true" olarak ayarlanmış gibi davranır. Mevcut android:targetSdkVersion. 17 veya üzerine çıkarsa API çalıştıran cihazlar için varsayılan değer "false" olur 17. seviye ve üstü olmalıdır.

android:exported="false" cihazını ayarlayabilir ve permission özelliğini gönderin.

android:grantUriPermissions
Genellikle erişim izni olmayanlar içerik sağlayıcının verilerine erişim izni verilebilir. ya da sözleşmenin getirdiği kısıtlamayı geçici olarak readPermission, writePermission, permission ve exported özellikleri hakkında daha fazla bilgi edinin.

İzin verilebilirse "true", verilemiyorsa "false" değeridir. "true" ise herhangi bir içeriğe izin verilebilir tarafından sağlanan verilerdir. "false" ise yalnızca izin verilebilir her bir anahtar kelime için <grant-uri-permission> alt öğe, belirtin. Varsayılan değer "false" değeridir.

İzin verme, bir uygulama bileşenine bir defalık izin vermenin bir yoludur bir izinle korunan verilere erişebilir. Örneğin, bir e-posta ileti bir ek içeriyorsa, posta uygulaması uygun görüntüleyici olsa bile, görüntüleyen kişi genel bilgiler verilerine göz atma izni arıyoruz.

Bu gibi durumlarda izin, ilgili kuruluş tarafından FLAG_GRANT_READ_URI_PERMISSION. ve FLAG_GRANT_WRITE_URI_PERMISSION bayrağını etkinleştiren Intent nesnesinde bulunur. Örneğin, posta uygulaması, FLAG_GRANT_READ_URI_PERMISSION adresini Intent Context.startActivity() tarihine geçti. Bu izin, Intent içindeki URI'ye gider.

Bu özelliği, "true" değerine ayarlayarak etkinleştirirseniz veya <grant-uri-permission> alt öğeler, çağrı Context.revokeUriPermission() kapalı bir URI sağlayıcıdan silindiğinde.

Ayrıca bkz. <grant-uri-permission> öğesine dokunun.

android:icon
İçerik sağlayıcıyı temsil eden bir simge. Bu özellik, görebilirsiniz. Ayarlanmadıysa uygulama için belirtilen simge bunun yerine bir bütün olarak kullanılır. Daha fazla bilgi için <application> inceleyin. öğesinin icon özelliği.
android:initOrder
İçerik sağlayıcının örneklenme sırası, ve aynı işlem tarafından barındırılan diğer içerik sağlayıcılara kıyasla %40 daha fazladır. İçerik sağlayıcılar arasında bağımlılıklar olduğunda, bunu ayarlamak özelliği, öğelerin sipariş sırasında gerekli olduğunu açıklayacağım. Değer bir tam sayıdır yüksek sayıların ilk kullanıma hazırlanması gerekir.
android:label
Sağlanan içerik için kullanıcı tarafından okunabilen bir etiket Bu özellik ayarlanmazsa uygulamanın tamamı için ayarlanan etiket kullanılır. Daha fazla bilgi için <application> öğesine bakın. label özelliği için de geçerlidir.

Etiket genellikle 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:multiprocess
Uygulama birden fazla işlemde çalışıyorsa bu özellik, birden fazla içerik sağlayıcı örneği oluşturulur. "true" ise Uygulama işlemlerinin her birinin kendi içerik sağlayıcı nesnesi vardır. Eğer "false", uygulamanın işlemleri yalnızca bir içerik sağlayıcı nesnesi paylaşıyor. Varsayılan değer "false" değeridir.

Bu işareti "true" olarak ayarlamak, işlemler arası iletişimin ek yükünü de beraberinde getirir izler.

android:name
İçerik sağlayıcıyı uygulayan sınıfın adı, ContentProvider. Bu genelde proje başlatma belgenize "com.example.project.TransportationProvider" gibi bir ad girin. Bununla birlikte, adın ilk karakteri noktaysa , <manifest> öğesi.

Varsayılan yoktur. Ad belirtilmelidir.

android:permission
İstemcilerin için de geçerlidir. Bu özellik, etiketleri kullanarak hem okuma hem de yazma için tek bir izin almanız gerekir. Ancak readPermission, writePermission ve grantUriPermissions özellikleri önceliklidir istiyorum.

readPermission özelliği de ayarlanmışsa içerik sağlayıcıyı sorgulamak için erişimi kontrol eder. writePermission özelliği ayarlanırsa Sağlayıcının verilerini değiştirme erişimini kontrol eder.

İzinler hakkında daha fazla bilgi için İzinler bölümünü inceleyin ve Güvenlik ipuçları.

android:process
İçerik sağlayıcının çalıştığı işlemin adı. Normalde bir uygulamanın tüm bileşenlerinin, uygulama için oluşturulan varsayılan işlemde bir uygulamadır. Uygulama paketiyle aynı ada sahiptir.

İlgili içeriği oluşturmak için kullanılan <application> öğesinin process özelliğinin değeri farklı bir varsayılan olarak ayarlamanız gerekir. Ancak her bileşen, varsayılan bileşeni geçersiz kılabilir kendine ait process ö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 bir süreç oluşturulur ve etkinlik bu süreçte yürütülür.

İşlem adı küçük harfle başlıyorsa etkinlik çalıştırılır buna izin verilmesi gerekir. Bu, farklı uygulamalardaki bileşenlerin bir işlemi paylaşmasına izin verir ve kaynak kullanımını anlatır.

android:readPermission

İstemcilerin, içerik sağlayıcıyı sorgulaması için sahip olması gereken izin.

Sağlayıcı android:grantUriPermissions özelliğini ayarlarsa "true" veya belirli bir müşteri <grant-uri-permission> alt öğesi olduğunda, istemci içeriğe geçici okuma erişimi elde edebilir tarafından sağlanan verilerdir.

Ayrıca bkz. permission ve writePermission özellikleri.

android:syncable
Verilerin içerik sağlayıcının kontrolünde olup olmadığı sunucudaki verilerle senkronize edilebilir. Saat "true" mümkünse "false".
android:writePermission

İstemcilerin verilerde değişiklik yapması için gereken izin içerik sağlayıcı tarafından kontrol edilir.

Sağlayıcı android:grantUriPermissions özelliğini ayarlarsa "true" veya belirli bir müşteri <grant-uri-permission> alt öğesi olduğunda, istemci, içeriği değiştirmek için geçici yazma erişimi elde edebilir tarafından sağlanan verilerdir.

Ayrıca bkz. permission ve readPermission özellikleri.

tanıtıldığı yer:
API düzeyi 1
ayrıca bkz.:
İçerik sağlayıcılar