<uses-permission>

Nota: in alcuni casi, le autorizzazioni richieste tramite <uses-permission> possono influire sul modo in cui Google Play filtra la tua applicazione. Se richiedi un'autorizzazione relativa all'hardware, ad esempio CAMERA, Google Play presume che la tua applicazione richieda la funzionalità hardware sottostante ed esclude l'applicazione da dispositivi che non la offrono.

Per controllare i filtri, dichiara sempre in modo esplicito le funzionalità hardware negli elementi <uses-feature>, anziché fare affidamento su Google Play per "scoprire" i requisiti negli elementi <uses-permission>. Successivamente, se vuoi disattivare il filtro per una determinata funzionalità, puoi aggiungere un attributo android:required="false" alla dichiarazione <uses-feature>.

Per un elenco delle autorizzazioni che implicano le funzionalità hardware, consulta la documentazione relativa all'elemento <uses-feature>.

:
<uses-permission android:name="string"
        android:maxSdkVersion="integer" />
contenuto in:
<manifest>
description:
Specifica un'autorizzazione di sistema che l'utente deve concedere per il corretto funzionamento dell'app. L'utente concede le autorizzazioni quando l'applicazione viene installata, su dispositivi con Android 5.1 e versioni precedenti, o durante l'esecuzione dell'app, su dispositivi con Android 6.0 e versioni successive.

Per ulteriori informazioni sulle autorizzazioni, consulta la sezione Autorizzazioni nella panoramica del file manifest dell'app e la guida Autorizzazioni su Android. Un elenco delle autorizzazioni definite dalla piattaforma di base è disponibile all'indirizzo android.Manifest.permission.

:
android:name
Il nome dell'autorizzazione. Può essere un'autorizzazione definita dall'applicazione con l'elemento <permission>, un'autorizzazione definita da un'altra applicazione o una delle autorizzazioni di sistema standard, come "android.permission.CAMERA" o "android.permission.READ_CONTACTS". Come mostrano questi esempi, in genere il nome di un'autorizzazione include il nome del pacchetto come prefisso.
android:maxSdkVersion
Il livello API più alto a cui viene concessa questa autorizzazione alla tua app. L'impostazione di questo attributo è utile se l'autorizzazione richiesta dalla tua app non è più necessaria a partire da un determinato livello API.

Ad esempio, a partire da Android 4.4 (livello API 19) non è più necessario che la tua app richieda l'autorizzazione WRITE_EXTERNAL_STORAGE per scrivere nelle proprie directory specifiche dell'applicazione nella memoria esterna, che sono fornite da getExternalFilesDir().

Tuttavia, l'autorizzazione è obbligatoria per il livello API 18 e inferiore. Puoi quindi dichiarare che questa autorizzazione è necessaria solo fino al livello API 18 con una dichiarazione come la seguente:

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

In questo modo, a partire dal livello API 19, il sistema non concede più alla tua app l'autorizzazione WRITE_EXTERNAL_STORAGE.

Aggiunta nel livello API 19.

introdotto in:
Livello API 1
consulta anche: