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 dagetExternalFilesDir()
.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: