Sto gestendo il mio codice applicazione per funzionare in Marshmallow dispositivi, sto gestendo la sua finestra di dialogo permessi per mostrare nei posti necessari.In Marshmallow, come richiamare due o più finestre di autorizzazione una per una come fa Hangouts?
Attualmente ostacolato da questo scenario in cui sono richiesti due permessi (Ubicazione e archiviazione) e voglio chiedere uno alla volta come fa Hangout. Non hai trovato il modo in cui è personalizzato, nessuna soluzione?
ecco il codice mi occupo per la singola autorizzazione:
case REQUEST_CODE_WRITE_EXTERNAL_STORAGE: {
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
/Permission is granted
Toast.makeText(this, "SDK >= 23 & permission Granted ", Toast.LENGTH_SHORT).show();
return true;
} else {
//Permission is revoked
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_CODE_WRITE_EXTERNAL_STORAGE);
return false;
}
}
E in onRequestPermissionsResult()
:
case REQUEST_CODE_WRITE_EXTERNAL_STORAGE: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted, yay! Do the
// contacts-related task you need to do.
Log.e("PMS", "granted");
Toast.makeText(this, "SDK >= 23 & permission Granted ", Toast.LENGTH_SHORT).show();
} else {
Log.e("PMS", "Not Granted");
// permission denied, boo! Disable the
// functionality that depends on this permission.
int checkStatus = getPermissionStatus(Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (checkStatus == 3) {
Toast.makeText(this, "SDK >= 23 & permission Denied ", Toast.LENGTH_SHORT).show();
} else if (checkStatus == 4) {
Toast.makeText(this, "SDK >= 23 & permission Blocked ", Toast.LENGTH_SHORT).show();
}
}
return;
}
Grazie per il vostro tempo. @Sagar Trehan – SaravanaRaja