Participe do evento ⁠#Android11: apresentação de lançamento da versão Beta no dia 3 de junho.

<permission>

sintaxe:
<permission android:description="string resource"
                android:icon="drawable resource"
                android:label="string resource"
                android:name="string"
                android:permissionGroup="string"
                android:protectionLevel=["normal" | "dangerous" |
                                         "signature" | ...] />
contido em:
<manifest>
descrição:
Declara uma permissão de segurança que pode ser usada para limitar o acesso a componentes ou recursos específicos deste ou de outros aplicativos. Consulte a seção Permissões na introdução e o documento Segurança e permissões para ter mais informações sobre como as permissões funcionam.
atributos:
android:description
Uma descrição da permissão legível pelo usuário, mais longa e mais informativa do que o rótulo. Ela pode ser exibida para explicar a permissão ao usuário, por exemplo, quando se pergunta a ele se quer conceder a permissão para outro aplicativo.

Esse atributo precisa ser definido como uma referência a um recurso de string. Diferentemente do atributo label, ele não pode ser uma string bruta.

android:icon
Uma referência a um recurso drawable para um ícone que representa a permissão.
android:label
Um nome para a permissão, que pode ser exibido para os usuários.

Como conveniência, o rótulo pode ser definido diretamente como uma string bruta enquanto você desenvolve o app. No entanto, quando o app estiver pronto para ser publicado, ele precisa ser definido como uma referência a um recurso de string, para que possa ser localizado como outras strings na interface do usuário.

android:name
O nome da permissão. Esse é o nome que será usado no código para fazer referência à permissão, por exemplo, em um elemento <uses-permission> e nos atributos permission dos componentes do aplicativo.

Observação: o sistema não permite que vários pacotes declarem uma permissão com o mesmo nome, a menos que todos os pacotes sejam assinados com o mesmo certificado. Se um pacote declarar uma permissão, o sistema não permitirá que o usuário instale outros pacotes com o mesmo nome de permissão, a menos que esses pacotes sejam assinados com o mesmo certificado do primeiro pacote. Para evitar conflitos na nomenclatura, recomendamos o uso de nomes no estilo de domínio inverso para permissões personalizadas, por exemplo, com.example.myapp.ENGAGE_HYPERSPACE.

android:permissionGroup
Atribui esta permissão a um grupo. O valor desse atributo é o nome do grupo, que deve ser declarado com o elemento <permission-group> neste ou em outro aplicativo. Se esse atributo não for definido, a permissão não pertencerá a um grupo.
android:protectionLevel

Caracteriza o possível risco implicado na permissão e indica o procedimento que o sistema precisa seguir ao determinar se concederá ou não a permissão a um aplicativo que a solicite.

Cada nível de proteção consiste em um tipo de permissão básico e em zero ou mais sinalizações. Por exemplo, o nível de proteção "dangerous" não tem sinalizações. Por outro lado, o nível de proteção "signature|privileged" é uma combinação do tipo de permissão básico "signature" e a sinalização "privileged".

A tabela a seguir mostra todos os tipos de permissão básicos. Para uma lista de sinalizações, consulte protectionLevel.

Valor Significado
"normal" O valor padrão. Uma permissão de menor risco que concede aos solicitantes acesso a recursos isolados no nível do aplicativo, com risco mínimo para outros aplicativos, o sistema ou o usuário. O sistema concede automaticamente esse tipo de permissão a um aplicativo solicitante na instalação, sem solicitar a aprovação explícita do usuário, embora o usuário sempre tenha a opção de revisar essas permissões antes da instalação.
"dangerous" Uma permissão de alto risco que dá ao aplicativo solicitante acesso a dados particulares do usuário ou controle sobre o dispositivo que pode afetar negativamente o usuário. Como esse tipo de permissão apresenta risco em potencial, o sistema pode não concedê-lo automaticamente ao aplicativo solicitante. Por exemplo, qualquer permissão perigosa solicitada por um aplicativo pode ser exibida para o usuário e exigir confirmação antes de prosseguir, ou alguma outra medida pode ser tomada para evitar que o usuário permita automaticamente o uso de tais instalações.
"signature" Uma permissão concedida pelo sistema somente se o aplicativo solicitante estiver assinado com o mesmo certificado que o aplicativo que declarou a permissão. Se os certificados forem correspondentes, o sistema concederá a permissão automaticamente sem notificar o usuário ou solicitar a aprovação explícita dele.
"signatureOrSystem"

Sinônimo antigo para "signature|privileged". Suspenso na API de nível 23.

Uma permissão que o sistema concede apenas a aplicativos que estejam em uma pasta dedicada na imagem do sistema Android ou que estejam assinados com o mesmo certificado do aplicativo que declarou a permissão. Evite usar essa opção, porque o nível de proteção de signature é suficiente para a maioria das necessidades e funciona independentemente de onde os aplicativos estejam instalados. A permissão "signatureOrSystem" é usada para determinadas situações especiais em que vários fornecedores têm aplicativos integrados a uma imagem do sistema e precisam compartilhar explicitamente recursos específicos porque estão sendo criados em conjunto.

introduzido em:
API de nível 1
veja também:
<uses-permission>
<permission-tree>
<permission-group>