我正在更新我们的应用程序以使用新的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);
}
}
}
}
}
有没有人遇到过类似的问题? 感谢您在这方面的任何帮助. 谢谢