Я обновляю наше приложение, чтобы использовать новую систему M Permissions. Это все работает, кроме onRequestPermissionsResult(). Мне нужно проверить разрешение нажатием кнопки, и если оно выполнено успешно, отправьте текстовое сообщение. Когда я даю разрешение на это, диалог закрывается, но он не вызывает Send Text, пока я не нажму кнопку еще раз.
Я отлаживал и устанавливал точки останова в методе 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);
}
}
}
}
}
Кто-нибудь сталкивался с подобной проблемой? Оцените любую помощь с этим. Благодаря