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 porgetExternalFilesDir()
.No entanto, a permissão é necessária para o nível da API 18 e versões anteriores. Então, é possível declarar que isso a 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: