Solicitud de permisos

Cómo pedir permisos en Android

Solicitud de permisos

Ejemplo: Repositorio de muestras de permisos de Android en GitHub

private boolean comprobarPermiso() {
    String permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE;
    boolean 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)) {
            concedido = false;
        } else {
            ActivityCompat.requestPermissions(this, new String[]{permiso}, REQUEST_CONNECT);
            // Cuando se cierre el cuadro de diálogo se ejecutará onRequestPermissionsResult
        }
    } else {
        concedido = true;
    }
    return concedido;
}

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    String permiso = Manifest.permission.WRITE_EXTERNAL_STORAGE;
    // chequeo los permisos de nuevo
    if (requestCode == REQUEST_CONNECT)
        if (ActivityCompat.checkSelfPermission(this, permiso) == PackageManager.PERMISSION_GRANTED)
            // permiso concedido
            descarga(url);
        else
            // no hay permiso
            mostrarError("No se ha concedido permiso para conectarse a Internet");
}

private void mostrarError(String mensaje) {
    Toast.makeText(this, mensaje, Toast.LENGTH_SHORT).show();
}

Deja una respuesta