Estoy usando la biblioteca EasyPermissions en mi proyecto. Se compiló correctamente pero obtuvo un error en el tiempo de ejecución. Estoy construyendo mi aplicación en 28. Utilizo la última versión y antes, pero sigo recibiendo el mismo error.

1
Rishikesh Rahi 26 sep. 2019 a las 13:34

1 respuesta

La mejor respuesta

Recomendé usar la siguiente biblioteca de permisos de tiempo de ejecución de Android

Implementación 'com.nabinbhandari.android:permissions:3.8'

Primero declare sus permisos en el manifiesto.

Como

Código de muestra: 1) Permiso único ()

Permissions.check(this, Manifest.permission.CALL_PHONE, null, new PermissionHandler() {
@Override
public void onGranted() {
    // do your task.
}
});

2) Múltiples permisos:

String[] permissions = {Manifest.permission.CAMERA, 
    Manifest.permission.WRITE_EXTERNAL_STORAGE};

   Permissions.check(this/*context*/, permissions, null/*rationale*/, null/*options*/, 
new PermissionHandler() {
@Override
public void onGranted() {
    // do your task.
}
});

3) Solicitud de permisos personalizados:

String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION};
String rationale = "Please provide location permission so that you can ...";
    Permissions.Options options = new Permissions.Options()
    .setRationaleDialogTitle("Info")
    .setSettingsDialogTitle("Warning");

Permissions.check(this/*context*/, permissions, rationale, options, new 
PermissionHandler() {
@Override
public void onGranted() {
    // do your task.
}

@Override
public void onDenied(Context context, ArrayList<String> deniedPermissions) {
    // permission denied, block the feature.
}
});

Consulte esta biblioteca: @github https://github.com/nabinbhandari/Android-Permissions

o consulte esta respuesta para obtener el código de permiso https://stackoverflow.com/a/55452495/10758304

0
Mohsin kazi 26 sep. 2019 a las 11:27