Uygulamanızı oluştururken cihazdaki diğer uygulamaları dikkate almanız önemlidir daha fazla bilgi vereceğiz. Uygulamanız bunu hedefliyorsa Android 11 (API düzeyi 30) veya sonraki sürümlerde sistem, bazı uygulamaları uygulama otomatik olarak ancak filtreleri diğer uygulamalarda varsayılan olarak kullanılabilir. Bu kılavuzda, bu diğer uygulamaları nasıl görünür hale getireceğiniz açıklanmaktadır. ekleyin.
Uygulamanız Android 11 veya sonraki bir sürümü hedefliyorsa ve etkileşimde bulunması gerekiyorsa
otomatik olarak görünür olanlar dışındaki uygulamalarla eklemek
Uygulamanızın<queries>
manifest dosyası olarak kaydedin. <queries>
öğesinin içinde, diğer uygulamaları belirtin:
paket adı, amaç imzasına göre,
veya sağlayıcı yetkilisi tarafından, aşağıda açıklandığı şekilde
bölümlerini kontrol edin.
Belirli paket adları
Sorgulamak veya etkileşimde bulunmak istediğiniz belirli uygulamaları biliyorsanız, örneğin
uygulamanızla entegre olan uygulamalar veya hizmetlerini kullandığınız uygulamalar,
<package>
kümesindeki paket adları
<queries>
öğesinin içindeki öğeler:
<manifest package="com.example.game"> <queries> <package android:name="com.example.store" /> <package android:name="com.example.services" /> </queries> ... </manifest>.
Kitaplıktaki ana makine uygulamasıyla iletişim kurma
Android kitaplığı geliştirirseniz paket görünürlüğü ihtiyaçlarınızı tanımlayabilirsiniz
AAR manifestinize bir <queries>
öğesi ekleyerek
dosyası olduğundan emin olun. Bu <queries>
öğesi aynı
işlevleri ekleyin.
Kitaplığınız, sınırlama" gibi bir ana makine uygulamasıyla iletişim içeriyorsa
service içine <package>
ana makine uygulamasının paket adını belirtir:
<!-- Place inside the <queries> element. --> <package android:name=PACKAGE_NAME />
Bu beyanı ekleyerek ana makine uygulamasının yüklü olup olmadığını ve
telefon ederek veya mağaza girişi yaparak
bindService()
.
Kitaplığınızı kullanan arama uygulaması otomatik olarak
sonuç olarak ana makine uygulamasına görünür
bahsedeceğim.
Amaç filtresi imzasıyla eşleşen paketler
Uygulamanızın, farklı kullanıcılara hizmet veren bir grup uygulamayı sorgulaması veya
ama paketin isimlerini
tam olarak bilemeyebilirsiniz,
dahil. Böyle bir durumda,
amaç filtre imzalarını
<queries>
öğesi. Böylece uygulamanız,
eşleşen
<intent-filter>
öğeler.
Aşağıdaki kod örneğinde, uygulamaya izin verecek bir <intent>
öğesi gösterilmektedir
JPEG resim paylaşımını destekleyen diğer yüklü uygulamaları görmek için:
<manifest package="com.example.game"> <queries> <intent> <action android:name="android.intent.action.SEND" /> <data android:mimeType="image/jpeg" /> </intent> </queries> ... </manifest>
<intent>
öğesinin birkaç kısıtlaması vardır:
- Tam olarak bir
<action>
öğesi eklemeniz gerekir. path
,pathPrefix
,pathPattern
veyaport
özelliklerini kullanamazsınız<data>
öğesinde. Sistem, her özelliğin değerini ayarlamışsınız gibi davranır genel joker karaktere (*
) eklenir.- Bir
<data>
öğesininmimeGroup
özelliğini kullanamazsınız. Tek bir
<intent>
öğesinin<data>
öğelerinde her birini kullanabilirsiniz en fazla bir kez gönderin:mimeType
scheme
host
Bu özellikleri birden fazla
<data>
öğesine dağıtabilir veya bunları tek bir<data>
öğesinde görüntüleyebilirsiniz.
<intent>
öğesi, genel joker karakteri (*
)
birkaç özelliğe sahip olabilir:
<action>
öğesininname
özelliği.- Bir
<data>
öğesinin (image/*
)mimeType
özelliğinin alt türü. - Bir
<data>
öğesininmimeType
özelliğinin türü ve alt türü (*/*
). - Bir
<data>
öğesininscheme
özelliği. - Bir
<data>
öğesininhost
özelliği.
Önceki listede aksi belirtilmedikçe sistem,
metin ve joker karakterlerden oluşan bir karışım (ör. prefix*
).
Belirli bir yetkilinin kullanıldığı paketler
Bir içeriği sorgulamanız gerekiyorsa
sağlayıcı ancak
yoksa belirli paket adlarını bilmiyorsanız
gösterildiği gibi bir <provider>
öğesinde
aşağıdaki snippet'te:
<manifest package="com.example.suite.enterprise"> <queries> <provider android:authorities="com.example.settings.files" /> </queries> ... </manifest>.
Sağlayıcı yetkililerini tek bir <queries>
öğesinde belirtebilirsiniz. Şuranın içinde:
<queries>
öğesi tanımlarsanız bir veya daha fazla <provider>
öğesi tanımlayabilirsiniz. CEVAP
<provider>
öğesi, tek bir sağlayıcı yetkilisi veya
noktalı virgülle ayrılmış sağlayıcı yetkilileri listesi.
Tüm uygulamalar (önerilmez)
Nadir durumlarda, uygulamanızın yüklü tüm uygulamaları sorgulaması veya bunlarla etkileşimde bulunması gerekebilir
cihaz üzerinde çalışır. Uygulamanızın şunları yapmasına izin vermek için:
yüklü diğer tüm uygulamaları görebilirsiniz. Sistem,
QUERY_ALL_PACKAGES
izni gerekir.
QUERY_ALL_PACKAGES
izni şunların eklenmesine uygundur:
- Erişilebilirlik uygulamaları
- Tarayıcılar
- Cihaz yönetimi uygulamaları
- Güvenlik uygulamaları
- Virüsten korunma uygulamaları
Ancak uygulamanızın genel kullanım amacına uygun şekilde çalışması genellikle mümkündür otomatik olarak görünen uygulama grubuyla etkileşimde bulunarak ve diğer uygulamaları tanımlayarak manifest dosyanıza veri eklemeniz gerekir. Alıcı: Kullanıcı gizliliğine saygı gösteriyorsanız, uygulamanız gereken en düşük paket miktarını uygulamanızın çalışması için gerekli görünürlüğü gerektirir.
Google'ın politika güncellemesi
Oynat
QUERY_ALL_PACKAGES
iznine ihtiyaç duyan uygulamalar için yönergeler sağlar.