Como pedir permissão no Android Studio

Como pedir permissão no Android Studio

Nesse tutorial vou demonstrar Como pedir permissão no Android Studio assim vamos poder utilizar os recursos do telefone ou tablet.

Primeiramente vamos criar um projeto vazio(Empty) para fazer o nosso pedido de permissão de uso de um recurso.

Se você não sabe como criar um projeto vazio então veja o tutorial Como criar um projeto no Android Studio.

Nesse tutorial vou apenas pedir uma autorização de uso de um recurso do android.

Vou utilizar o recurso de leitura de dados na memória denominado de READ_EXTERNAL_STORAGE.

Então vamos fazer este pedido de autorização de uso do recurso na linguagem Kotlin.

Vamos então editar nosso arquivo MainActivity e inserir o seguinte código para que ele verifique se existe a permissão ou não, se não houver a permissão de uso do recurso ele vai pedir para que o usuário aceite a permissão e se ela for negada a variável check vai ficar como false e assim você pode desabilitar recursos do seu projeto se ela não estiver como true.

MainActivity

class MainActivity : AppCompatActivity() {
    var check: Boolean = false
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        initPermissions()
    }
    private fun initPermissions(){
        if(!getPermission()) setPermission()
        else check = true
    }
    private fun getPermission(): Boolean{
        return (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)
    }
    private fun setPermission(){
        val permissionsList = listOf<String>(
            Manifest.permission.READ_EXTERNAL_STORAGE
        )
        ActivityCompat.requestPermissions(this, permissionsList.toTypedArray(), 1)
    }
    private fun errorPermission(){
        Toast.makeText(this, "Não tem permissão para ler arquivos.", Toast.LENGTH_SHORT).show()
    }
    override fun onRequestPermissionsResult(
        requestCode: Int,
        permissions: Array<out String>,
        grantResults: IntArray
    ) {
        when(requestCode){
            1 -> {
                if (grantResults.isEmpty() || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
                    Log.i("Permission: ", "Permission has been denied by user")
                    errorPermission()
                } else {
                    Log.i("Permission: ", "Permission has been granted by user")
                    check = true
                }
            }
        }
    }
}

E vamos inserir no Manifest uses-permission que é a permissão de uso do recurso.

Manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="br.com.uware.permissao">
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <application
       android:allowBackup="true"
       android:icon="@mipmap/ic_launcher"
       android:label="@string/app_name"
       android:roundIcon="@mipmap/ic_launcher_round"
       android:supportsRtl="true"
       android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Logo depois de ter feito as modificações vamos compilar e executar o nosso projeto para verificar como ele faz o pedido de permissão de uso dos recursos.

Enfim espero poder ter ajudado com mais esse tutorial sobre Como pedir permissão no Android Studio.

Ainda assim se estiver com alguma dúvida entre em nosso canal no telegram clicando no link abaixo.




Rodrigo Leutz
Desenvolvedor Web e Android ( Kotlin e Java )