我正在更新我们的应用程序以使用新的M权限系统。除了onRequestPermissionsResult()以外,其他所有功能都可以使用。我需要检查按下按钮的权限,如果成功,则发送短信。当我授予执行权限时,对话框关闭,但是直到再次按下按钮时,它才触发“发送文本”。
我已经在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); } } } } }
有人遇到过类似的问题吗?感谢对此的任何帮助。谢谢
我遇到了同样的问题,我才找到解决方案。使用支持库时,必须使用正确的方法调用。例如:
希望这可以帮助!