Esta lição ensina a
Leia também
Cada aplicativo Android é executado em um sandbox com acesso limitado. Se um aplicativo precisar usar recursos ou informações fora de seu próprio sandbox, ele precisará solicitar a permissão apropriada. Você declara que seu aplicativo precisa de uma permissão listando-a no manifesto do aplicativo.
Dependendo da importância da permissão, o sistema pode concedê-la automaticamente ou o usuário pode precisar concedê-la. Por exemplo, se seu aplicativo solicitar permissão para ativar a lanterna do dispositivo, essa permissão é concedida automaticamente. No entanto, se o aplicativo precisar ler os contatos do usuário, o sistema pede que o usuário aprove a permissão. Dependendo da versão da plataforma, o usuário concede a permissão ao instalar o aplicativo (no Android 5.1 e em versões anteriores) ou ao executar o aplicativo (no Android 6.0 e em versões posteriores).
Determinar de quais permissões seu aplicativo precisa
Ao desenvolver seu aplicativo, observe quando ele usa recursos que exigem uma permissão. Normalmente, o aplicativo precisa de permissões sempre que usa informações ou recursos que não são criados por ele ou quando executa ações que afetam o comportamento do dispositivo ou outros aplicativos. Por exemplo, se um aplicativo precisar acessar a Internet, usar a câmera do dispositivo ou ativar ou desativar o Wi-Fi, ele precisará da permissão apropriada. Para obter uma lista das permissões do sistema, consulte a seção Permissões normais e perigosas.
Seu aplicativo só precisa de permissões para ações que ele executa diretamente. Ele não precisa de permissão se estiver solicitando que outro aplicativo execute uma tarefa ou forneça informações. Por exemplo, se seu aplicativo precisar ler o catálogo de endereços do usuário, ele precisará da permissão READ_CONTACTS. No entanto, se ele usar uma intent para solicitar informações do aplicativo Contatos do usuário, ele não precisará de permissões, mas o aplicativo Contatos sim. Para saber mais, consulte Considere o uso de uma intent.
Adicionar permissões ao manifesto
Para declarar que o aplicativo precisa de uma permissão, insira um elemento <uses-permission> no manifesto como um elemento filho do elemento <manifest> de alto nível. Por exemplo, um aplicativo que precisa enviar mensagens SMS teria a seguinte linha no manifesto:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.snazzyapp">
<uses-permission android:name="android.permission.SEND_SMS"/>
<application ...>
...
</application>
</manifest>
O comportamento do sistema após a declaração de uma permissão depende da importância da permissão. Se a permissão não afetar a privacidade do usuário, o sistema a concederá automaticamente. Se a permissão conceder acesso a informações confidenciais do usuário, o sistema solicitará que o usuário a aprove. Para saber mais sobre os diferentes tipos de permissões, consulte Permissões normais e perigosas.