<uses-permission>

Hinweis : In einigen Fällen können sich die Berechtigungen, die Sie über <uses-permission> anfordern, darauf auswirken, wie Google Play Ihre App filtert. Wenn Sie eine hardwarebezogene Berechtigung wie CAMERA anfordern, geht Google Play davon aus, dass Ihre App die zugrunde liegende Hardwarefunktion erfordert, und filtert die App nach Geräten, die diese Funktion nicht bieten.

Zum Steuern der Filterung solltest du Hardwarefunktionen immer explizit in <uses-feature>-Elementen deklarieren. Verlasse dich nicht darauf, dass Google Play die Anforderungen in <uses-permission>-Elementen „erfasst“. Wenn Sie die Filterung für eine bestimmte Funktion deaktivieren möchten, können Sie der Deklaration <uses-feature> ein android:required="false"-Attribut hinzufügen.

Eine Liste der Berechtigungen, die Hardwarefunktionen implizieren, finden Sie in der Dokumentation zum Element <uses-feature>.

Syntax:
<uses-permission android:name="string"
        android:maxSdkVersion="integer" />
enthalten in:
<manifest>
description:
Gibt eine Systemberechtigung an, die der Nutzer erteilen muss, damit die App ordnungsgemäß funktioniert. Der Nutzer erteilt die Berechtigungen bei der Installation der App auf Geräten mit Android 5.1 und niedriger bzw. während die App ausgeführt wird, auf Geräten mit Android 6.0 und höher.

Weitere Informationen zu Berechtigungen findest du im Abschnitt Berechtigungen in der Übersicht des App-Manifests und im Leitfaden Berechtigungen unter Android. Eine Liste der von der Basisplattform definierten Berechtigungen finden Sie unter android.Manifest.permission.

Attribute:
android:name
Der Name der Berechtigung. Es kann sich um eine von der Anwendung mit dem Element <permission> definierte Berechtigung handeln, um eine von einer anderen Anwendung definierte Berechtigung oder um eine der Standardsystemberechtigungen wie "android.permission.CAMERA" oder "android.permission.READ_CONTACTS". Wie diese Beispiele zeigen, enthält der Name einer Berechtigung in der Regel den Paketnamen als Präfix.
android:maxSdkVersion
Die höchste API-Ebene, auf der diese Berechtigung deiner App gewährt wird. Das Festlegen dieses Attributs ist nützlich, wenn die Berechtigung ab einem bestimmten API-Level nicht mehr benötigt wird.

Ab Android 4.4 (API-Level 19) muss deine App beispielsweise nicht mehr die Berechtigung WRITE_EXTERNAL_STORAGE anfordern, um in ihre eigenen anwendungsspezifischen Verzeichnisse im externen Speicher zu schreiben, die von getExternalFilesDir() bereitgestellt werden.

Für API-Level 18 und niedriger ist sie jedoch erforderlich. Mit einer Deklaration wie der folgenden können Sie also erklären, dass diese Berechtigung nur bis API-Level 18 erforderlich ist:

<uses-permission
     android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     android:maxSdkVersion="18" />

Auf diese Weise gewährt das System deiner App ab API-Level 19 nicht mehr die Berechtigung WRITE_EXTERNAL_STORAGE.

In API-Level 19 hinzugefügt.

eingeführt in:
API-Level 1
Siehe auch: