<uses-permission>
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Observação: em alguns casos, as permissões solicitadas
pelo <uses-permission>
podem afetar a forma como o Google Play filtra o
aplicativo. Se você solicitar uma permissão relacionada a hardware, como
CAMERA
, o Google Play presume que o
aplicativo exige o recurso de hardware especificado e ele é filtrado
de dispositivos que não oferecem o recurso.
Para controlar a filtragem, sempre declare os
recursos de hardware explicitamente nos elementos <uses-feature>
, em vez de
confiar que o Google Play vai "descobrir" os requisitos nos elementos
<uses-permission>
. Então, se quiser desativar
a filtragem para um recurso específico, é possível adicionar um atributo
android:required="false"
à declaração
<uses-feature>
.
Para ver uma lista de permissões que exigem recursos de hardware, consulte
a documentação do elemento
<uses-feature>
.
- Sintaxe:
<uses-permission android:name="string"
android:maxSdkVersion="integer" />
- contido em:
<manifest>
- descrição:
- Especifica uma permissão do sistema que precisa ser concedida pelo usuário para
que o app funcione corretamente. O usuário concede permissões quando o
app é instalado em dispositivos com o Android 5.1 ou versões anteriores ou, enquanto o app está em execução, em dispositivos com o Android 6.0 ou versões mais recentes.
Para mais informações sobre permissões, consulte a seção
Permissões
na visão geral do manifesto do app e o guia
Permissões no Android.
Uma lista de permissões definidas pela plataforma base está disponível em
android.Manifest.permission
.
- atributos:
android:name
- O nome da permissão. Pode ser uma permissão definida pelo
aplicativo com o elemento
<permission>
,
uma permissão definida por outro aplicativo ou uma das permissões padrão
do sistema, como
"android.permission.CAMERA"
ou "android.permission.READ_CONTACTS"
. Como esses exemplos mostram,
um nome de permissão geralmente contém o nome do pacote como prefixo.
android:maxSdkVersion
- O nível mais alto da API em que essa permissão é concedida ao app.
Definir esse atributo é útil se a permissão exigida pelo app não for mais necessária a partir
de um determinado nível da API.
Por exemplo, no Android 4.4 (nível 19 da API) e versões mais recentes, não é mais necessário que seu app
solicite a permissão WRITE_EXTERNAL_STORAGE
para gravar nos próprios diretórios específicos do app no armazenamento externo,
fornecidos por getExternalFilesDir()
.
No entanto,
a permissão é necessária para o nível da API 18 e versões anteriores. É possível declarar que essa
permissão é necessária somente até o nível 18 da API com uma declaração como esta:
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
Dessa forma, no nível 19 da API e versões mais recentes, o sistema não concede mais a
permissão WRITE_EXTERNAL_STORAGE
ao app.
Adicionado no nível 19 da API.
- introduzido em:
- Nível 1 da API
- confira também:
-
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)"]]