<uses-permission>
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Nota : in alcuni casi, le autorizzazioni richieste
tramite <uses-permission>
può influire sul modo in cui Google Play filtra i tuoi
un'applicazione. Se richiedi un'autorizzazione relativa all'hardware, ad esempio
CAMERA
, Google Play presuppone che le tue
richiede la funzionalità hardware sottostante e filtra l'applicazione stessa
da dispositivi che non li offrono.
Per controllare i filtri, dichiara sempre esplicitamente
funzionalità hardware negli elementi <uses-feature>
, anziché
fare affidamento su Google Play per "scoprire" i requisiti in
Elementi <uses-permission>
. Se poi vuoi disattivare
per un determinato elemento, puoi aggiungere
android:required="false"
al
<uses-feature>
.
Per un elenco di autorizzazioni che implicano
funzionalità hardware, consulta la documentazione relativa a
<uses-feature>
.
- sintassi:
<uses-permission android:name="string"
android:maxSdkVersion="integer" />
- contenuto in:
<manifest>
- description:
- Specifica un'autorizzazione di sistema che l'utente deve concedere
che l'app funzioni correttamente. L'utente concede le autorizzazioni quando
installazioni di app, 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
Autorizzazioni
nella panoramica del file manifest dell'app e
Guida alle autorizzazioni su Android.
Un elenco di autorizzazioni definite dalla piattaforma di base è disponibile all'indirizzo
android.Manifest.permission
.
- attributi:
android:name
- Il nome dell'autorizzazione. Può essere un'autorizzazione definita
con l'
<permission>
un'autorizzazione definita da un'altra applicazione o uno degli
alle autorizzazioni di sistema standard,
"android.permission.CAMERA"
o "android.permission.READ_CONTACTS"
. Come mostrano questi esempi,
il nome di un'autorizzazione di solito include il nome del pacchetto come prefisso.
android:maxSdkVersion
- Il livello API massimo 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 dall'inizio
a un determinato livello API.
Ad esempio, a partire da Android 4.4 (livello API 19) non è più necessario per la tua app
per richiedere WRITE_EXTERNAL_STORAGE
scrivere nelle proprie directory specifiche dell'applicazione sullo spazio di archiviazione esterno,
fornita da getExternalFilesDir()
.
Tuttavia,
l'autorizzazione è richiesta per le API di livello 18 e precedenti. Puoi quindi dichiarare
l'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
Autorizzazione WRITE_EXTERNAL_STORAGE
.
Aggiunto nel livello API 19.
- introdotto in:
- Livello API 1
- vedi anche:
-
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# <uses-permission\u003e\n\n**Note:** In some cases, the permissions that you request\nthrough `\u003cuses-permission\u003e` can affect how Google Play filters your\napplication. If you request a hardware-related permission, such as\n`CAMERA`, Google Play assumes that your\napplication requires the underlying hardware feature and filters the application\nfrom devices that don't offer it.\n\nTo control filtering, always explicitly declare\nhardware features in `\u003cuses-feature\u003e` elements, rather than\nrelying on Google Play to \"discover\" the requirements in\n`\u003cuses-permission\u003e` elements. Then, if you want to disable\nfiltering for a particular feature, you can add a\n`android:required=\"false\"` attribute to the\n`\u003cuses-feature\u003e` declaration.\n\nFor a list of permissions that imply\nhardware features, see the documentation for the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element#permissions-features) element.\n\nsyntax:\n:\n\n ```xml\n \u003cuses-permission android:name=\"string\"\n android:maxSdkVersion=\"integer\" /\u003e\n ```\n\ncontained in:\n: [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element)\n\ndescription:\n\n: Specifies a system permission that the user must grant for the app to operate correctly. The user grants permissions when the application installs, on devices running Android 5.1 and lower, or while the app runs, on devices running Android 6.0 and higher.\u003cbr /\u003e\n\n\n For more information on permissions, see the\n [Permissions](/guide/topics/manifest/manifest-intro#perms)\n section in the app manifest overview and the\n [Permissions on Android](/guide/topics/permissions) guide.\n A list of permissions defined by the base platform is at\n [android.Manifest.permission](/reference/android/Manifest.permission).\n\nattributes:\n:\n\n `android:name`\n : The name of the permission. It can be a permission defined by the\n application with the [\u003cpermission\u003e](/guide/topics/manifest/permission-element)\n element, a permission defined by another application, or one of the\n standard system permissions, such as\n [\"android.permission.CAMERA\"](/reference/android/Manifest.permission#CAMERA)\n or [\"android.permission.READ_CONTACTS\"](/reference/android/Manifest.permission#READ_CONTACTS). As these examples show,\n a permission name typically includes the package name as a prefix.\n\n `android:maxSdkVersion`\n\n : The highest API level at which this permission is granted to your app. Setting this attribute is useful if the permission your app requires is no longer needed beginning at a certain API level.\u003cbr /\u003e\n\n For example, beginning with Android 4.4 (API level 19) it's no longer necessary for your app\n to request the [WRITE_EXTERNAL_STORAGE](/reference/android/Manifest.permission#WRITE_EXTERNAL_STORAGE)\n permission to write to its own application-specific directories on external storage, which are\n provided by [getExternalFilesDir()](/reference/android/content/Context#getExternalFilesDir(java.lang.String)).\n\n However,\n the permission *is required* for API level 18 and lower. So you can declare that this\n permission is needed only up to API level 18 with a declaration like the following: \n\n ```xml\n \u003cuses-permission\n android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"\n android:maxSdkVersion=\"18\" /\u003e\n ```\n\n This way, beginning with API level 19, the system no longer grants your app the\n `WRITE_EXTERNAL_STORAGE` permission.\n\n Added in API level 19.\n\nintroduced in:\n: API level 1\n\nsee also:\n:\n - [\u003cpermission\u003e](/guide/topics/manifest/permission-element)\n - [`\u003cuses-permission-sdk-23\u003e`](/guide/topics/manifest/uses-permission-sdk-23-element)\n - [\u003cuses-feature\u003e](/guide/topics/manifest/uses-feature-element)"]]