Android M Permissions: onRequestPermissionsResult () не вызывается

Я обновляю наше приложение, чтобы использовать новую систему разрешений M. Это все работает, кроме onRequestPermissionsResult (). Мне нужно проверить разрешение на нажатие кнопки и, если оно прошло успешно, отправить текстовое сообщение. Когда я даю разрешение на это, диалоговое окно закрывается, но оно не вызывает отправку текста, пока я снова не нажму кнопку.

Я отладил и установил точки останова в методе onRequestPermissionsResult (), но он никогда не входит в это.

Этот метод вызывается первым:

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

И тогда мой обратный вызов выглядит так:

    @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);
                }
            }
        }
    }
}

Кто-нибудь сталкивался с подобной проблемой? Ценю любую помощь с этим. Спасибо

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

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