Android'de paket görünürlüğü filtreleme
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android 11'i (API düzeyi 30) veya sonraki sürümleri hedefleyen bir uygulama, cihaza yüklenen diğer uygulamalar hakkında bilgi sorguladığında sistem bu bilgileri varsayılan olarak filtreler. Bu filtreleme davranışı, uygulamanızın bir cihaza yüklenen tüm uygulamaları algılayamayacağı anlamına gelir. Bu da uygulamanızın erişebileceği ancak kullanım alanlarını yerine getirmek için ihtiyaç duymadığı hassas bilgileri en aza indirmenize yardımcı olur.
Ayrıca, filtrelenmiş paket görünürlüğü, Google Play gibi uygulama mağazalarının uygulamanızın kullanıcılara sağladığı gizlilik ve güvenlik özelliklerini değerlendirmesine yardımcı olur. Örneğin, Google Play, yüklü uygulamaların listesini kişisel ve hassas kullanıcı verileri olarak kabul eder.
Sınırlı uygulama görünürlüğü, queryIntentActivities()
, getPackageInfo()
ve getInstalledApplications()
gibi diğer uygulamalar hakkında bilgi veren yöntemlerin döndürdüğü sonuçları etkiler.
Sınırlı görünürlük, diğer uygulamalarla olan açık etkileşimleri de etkiler. Örneğin, başka bir uygulamanın hizmetini başlatma gibi.
Bazı paketler otomatik olarak görünür. Uygulamanız, diğer yüklü uygulamalarla ilgili sorgularında bu paketleri her zaman algılayabilir. Diğer paketleri görüntülemek için <queries>
öğesini kullanarak uygulamanızda paket görünürlüğünün artırılması gerektiğini beyan edin. Kullanım alanları sayfasında, paket görünürlüğünü nasıl seçerek genişletebileceğinize dair örnekler verilmektedir. Burada açıklanan iş akışları, kullanıcı gizliliğini korurken yaygın uygulama etkileşimi senaryolarını karşılamanıza olanak tanır.
<queries>
öğesinin yeterli paket görünürlüğü sağlamadığı nadir durumlarda QUERY_ALL_PACKAGES
iznini kullanabilirsiniz. Uygulamanızı Google Play'de yayınlarsanız uygulamanızın bu izni kullanması onaya tabidir.
Paket görünürlüğü davranışını test etme ile ilgili sayfada, uygulamanız diğer uygulamalarla etkileşime bağlı olduğunda paket görünürlüğüne göre davranış değişikliklerini nasıl test edeceğinizle ilgili öneriler sunulmaktadır.
Ek kaynaklar
Android'de paket görünürlüğü hakkında daha fazla bilgi edinmek için aşağıdaki materyallere göz atın:
Blog yayınları
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-08-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-08-27 UTC."],[],[],null,["# Package visibility filtering on Android\n\nWhen an app targets Android 11 (API level 30) or higher and queries for\ninformation about the other apps that are installed on a device, the system\nfilters this information by default. This filtering behavior means that your app\ncan't detect all the apps installed on a device, which helps minimize the\npotentially sensitive information that your app can access but doesn't need\nto fulfill its use cases.\n\nAlso, filtered package visibility helps app\nstores like Google Play assess the privacy and security that your app provides\nfor users. For example, Google Play considers the list of installed apps to be\n[personal and sensitive user\ndata](https://support.google.com/googleplay/android-developer/answer/10144311#zippy=%2Cexamples-of-common-violations).\n\nLimited app visibility affects the results returned by methods that give\ninformation about other apps, such as\n[`queryIntentActivities()`](/reference/android/content/pm/PackageManager#queryIntentActivities(android.content.Intent,%20int)),\n[`getPackageInfo()`](/reference/android/content/pm/PackageManager#getPackageInfo(java.lang.String,%20int)),\nand\n[`getInstalledApplications()`](/reference/android/content/pm/PackageManager#getInstalledApplications(int)).\nThe limited visibility also affects explicit interactions with other apps, such\nas starting another app's service.\n\nSome packages are [visible\nautomatically](/training/package-visibility/automatic). Your app can always\ndetect these packages in its queries for other installed apps. To view other\npackages, [declare your app's need for increased package\nvisibility](/training/package-visibility/declaring) using the\n[`\u003cqueries\u003e`](/guide/topics/manifest/queries-element) element. The [use\ncases](/training/package-visibility/use-cases) page provides examples of how you\ncan selectively expand package visibility. The workflows described there allow\nyou to fulfill common app interaction scenarios while protecting user privacy.\n\nIn the rare cases where the `\u003cqueries\u003e` element doesn't provide adequate package\nvisibility, you can use the `QUERY_ALL_PACKAGES` permission. If you publish your\napp on Google Play, your app's use of this permission is\n[subject to approval](https://support.google.com/googleplay/android-developer/answer/10158779).\n\nThe page about\n[testing package visibility behavior](/training/package-visibility/testing)\noffers suggestions for how to test behavior changes based on package visibility\nwhen your app relies on interactions with other apps.\n\nAdditional resources\n--------------------\n\nTo learn more about package visibility on Android, view the following materials:\n\n### Blog posts\n\n- [Package visibility in\n Android 11](https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9), available on Medium."]]