Android M Berechtigungen: onRequestPermissionsResult () wird nicht @ aufgeruf

Ich aktualisiere unsere App, um das neue M-Berechtigungssystem zu verwenden. Es funktioniert alles außer dem onRequestPermissionsResult (). Ich muss eine Berechtigung bei einem Tastendruck überprüfen und bei Erfolg eine Textnachricht senden. Wenn ich die Berechtigung dazu erteile, wird das Dialogfeld geschlossen, der Sendetext wird jedoch erst ausgelöst, wenn ich erneut auf die Schaltfläche drücke.

Ich habe in der onRequestPermissionsResult () -Methode ein Debugging durchgeführt und Haltepunkte gesetzt, aber es wird nie ausgeführt.

Diese Methode wird zuerst aufgerufen:

    private void askForPermission() {
    String[] permissions = new String[]{Manifest.permission.SEND_SMS};
    ActivityCompat.requestPermissions(getActivity(), permissions, PERMISSIONS_CODE);
}

Und dann sieht mein Rückruf so aus:

    @Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);

    if (requestCode == PERMISSIONS_CODE) {
        for (int i = 0; i < permissions.length; i++) {
            String permission = permissions[i];
            int grantResult = grantResults[i];

            if (permission.equals(Manifest.permission.SEND_SMS)) {
                if (grantResult == PackageManager.PERMISSION_GRANTED) {
                    onPPSButtonPress();
                } else {
                    requestPermissions(new String[]{Manifest.permission.SEND_SMS}, PERMISSIONS_CODE);
                }
            }
        }
    }
}

Hat jemand auf ein ähnliches Problem gestoßen? Schätzen Sie jede Hilfe dabei. Vielen Dan

Antworten auf die Frage(44)

Ihre Antwort auf die Frage