Solicitud de permisos

Cómo pedir permisos en Android

Solicitud de permisos

Cómo solicitar permisos de la app

Ejemplo: permiso para escribir en memoria externa

fun comprobarPermiso() {
    // val permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE
    val permiso: String = android.Manifest.permission.WRITE_EXTERNAL_STORAGE
    //var concedido = false

    // comprobar los permisos
    if (ActivityCompat.checkSelfPermission( this, permiso) != PackageManager.PERMISSION_GRANTED) {
        // pedir los permisos necesarios, porque no están concedidos
        if (ActivityCompat.shouldShowRequestPermissionRationale(this, permiso)) {
            mostrarMensaje("Permiso rechazado para escribir en m. externa\n Modifique los ajustes")
        } else {
            ActivityCompat.requestPermissions(this, arrayOf<String>(permiso), REQUEST_WRITE)
            // Cuando se cierre el cuadro de diálogo se ejecutará onRequestPermissionsResult
        }
    } else {
        escribir(binding.editText.toString())
    }
}

override fun onRequestPermissionsResult(
    requestCode: Int,
    permissions: Array<String>,
    grantResults: IntArray
) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)

    val permiso: String = Manifest.permission.WRITE_EXTERNAL_STORAGE

    // chequeo los permisos de nuevo
    if (requestCode === REQUEST_WRITE)
        if (ActivityCompat.checkSelfPermission(this, permiso) == PackageManager.PERMISSION_GRANTED
        )  // permiso concedido
            escribir(binding.editText.toString())
        else  // no hay permiso
            mostrarMensaje("No se ha concedido permiso para escribir en la memoria externa")
}

private fun mostrarMensaje(texto: String) {
    Toast.makeText(this, texto, Toast.LENGTH_SHORT).show()
}

 

Ejemplo: Permiso para usar la cámara en Kotlin

 

Más información:

Permissions samples repo

SinglePermission.kt

MultiplePermissions.kt

Deja una respuesta