Wenn eine App auf Android 11 (API-Level 30) oder höher ausgerichtet ist und Informationen zu den anderen auf einem Gerät installierten Apps abfragt, werden diese Informationen standardmäßig vom System herausgefiltert. Aufgrund dieses Filterverhaltens kann Ihre App nicht alle auf einem Gerät installierten Apps erkennen. So werden potenziell vertrauliche Daten, auf die Ihre App zugreifen kann, aber nicht für ihre Anwendungsfälle benötigt, minimiert.
Außerdem können App-Shops wie Google Play anhand der gefilterten Paketsichtbarkeit die Datenschutz- und Sicherheitsmaßnahmen Ihrer App für Nutzer besser beurteilen. Google Play betrachtet beispielsweise die Liste der installierten Apps als personenbezogene und vertrauliche Nutzerdaten.
Die eingeschränkte Sichtbarkeit von Apps wirkt sich auf die Ergebnisse aus, die von Methoden zurückgegeben werden, die Informationen zu anderen Apps liefern, z. B. queryIntentActivities()
, getPackageInfo()
und getInstalledApplications()
.
Die eingeschränkte Sichtbarkeit wirkt sich auch auf explizite Interaktionen mit anderen Apps aus, z. B. das Starten des Dienstes einer anderen App.
Einige Pakete sind automatisch sichtbar. Ihre App kann diese Pakete in ihren Abfragen nach anderen installierten Apps jederzeit erkennen. Wenn Sie sich andere Pakete ansehen möchten, deklarieren Sie die benötigte erhöhte Paketsichtbarkeit Ihrer App mit dem Element <queries>
. Auf der Seite Nutzungsbeispiele finden Sie Beispiele dafür, wie Sie die Sichtbarkeit von Paketen selektiv erweitern können. Mit den dort beschriebenen Workflows können Sie gängige App-Interaktionsszenarien umsetzen und gleichzeitig die Privatsphäre der Nutzer schützen.
In seltenen Fällen, in denen das <queries>
-Element nicht für eine ausreichende Sichtbarkeit des Pakets sorgt, können Sie die Berechtigung QUERY_ALL_PACKAGES
verwenden. Wenn Sie Ihre App bei Google Play veröffentlichen, muss die Verwendung dieser Berechtigung durch Ihre App genehmigt werden.
Auf der Seite Verhalten bei der Sichtbarkeit von Paketen testen finden Sie Vorschläge dazu, wie Sie Verhaltensänderungen basierend auf der Sichtbarkeit von Paketen testen können, wenn Ihre App auf Interaktionen mit anderen Apps angewiesen ist.
Weitere Informationen
Weitere Informationen zur Sichtbarkeit von Paketen unter Android finden Sie in den folgenden Artikeln:
Blogposts
- Paketsichtbarkeit in Android 11, verfügbar auf Medium.