Android API 23 Запрос нескольких разрешений

Я пытаюсь запросить разрешения на мою активность запуска. Для API <23 это работает отлично. Однако, когда я тестирую приложение на устройстве с API 23, оно говорит: «Баланс PostPaid остановлен». Я нажимаю кнопку «Закрыть приложение», приложение закрывается и сразу запрашивает одно разрешение. Я ударил принять. Затем я нажимаю на значок приложения, чтобы открыть его, и происходит то же самое, за исключением того, что теперь он запрашивает следующее разрешение. Затем я нажимаю на значок приложения, и на этот раз выполняется правильно. Кажется, что он запрашивает разрешения по одному. Есть идеи, как это сделать?

// Below code is implemented on onCreate() of the launcher activity.
 if (Build.VERSION.SDK_INT < 23) {
        ActivityCompat.checkSelfPermission(this.getApplicationContext(), "android.permission.READ_SMS");
        ActivityCompat.checkSelfPermission(this.getApplicationContext(), Manifest.permission.READ_CALL_LOG);
        ActivityCompat.checkSelfPermission(this.getApplicationContext(), Manifest.permission.READ_PHONE_STATE);

        if ((ActivityCompat.checkSelfPermission(this, "android.permission.READ_SMS") != PackageManager.PERMISSION_GRANTED)) {
            requestSmsPermission();
        }

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) {
            requestPhoneStatePermission();
        }

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) {
            requestCallLogPermission();
        }
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if ((this.checkSelfPermission("android.permission.READ_SMS") != PackageManager.PERMISSION_GRANTED) &&
                (this.checkSelfPermission(Manifest.permission.READ_CALL_LOG) != PackageManager.PERMISSION_GRANTED) &&
                (this.checkSelfPermission(Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED)) {
            this.requestPermissions(new String[]{"android.permission.READ_SMS", Manifest.permission_group.PHONE}, REQUEST_SMS);

        }
    }

Ответы на вопрос(1)

Ваш ответ на вопрос