Prüfen, ob die Berechtigungen erteilt wurden bereits durch Benutzer in Android

Ich habe alle gefährlichen Berechtigungen in einem String-array wie folgt:

String[] perms = {Manifest.permission.READ_CONTACTS,
                      Manifest.permission.READ_PHONE_STATE,
                      Manifest.permission.CALL_PHONE,
                      Manifest.permission.MODIFY_PHONE_STATE};

Dann zu überprüfen, wenn Sie schon zugegeben, dass ich dies ausführen:

for (int i = 0; i < perms.length; i++) {
        if(ContextCompat.checkSelfPermission(this,perms[i])!=PackageManager.PERMISSION_GRANTED)
        {
            ActivityCompat.requestPermissions(this,perms, permsRequestCode);
            break;
        }
    }

Aus irgendeinem Grund funktioniert das nicht. Er bittet um die Erlaubnis, einmal, und dann, wenn ich manuell deaktivieren von Einstellungen, es erscheint das Dialogfeld mehr als einmal.

Wie kann ich dieses Problem beheben?

InformationsquelleAutor Varun Rao | 2017-02-09

Schreibe einen Kommentar