为了账号安全,请及时绑定邮箱和手机立即绑定

Android M权限:未调用onRequestPermissionsResult()

Android M权限:未调用onRequestPermissionsResult()

慕后森 2019-11-06 10:13:42
我正在更新我们的应用程序以使用新的M权限系统。除了onRequestPermissionsResult()之外,其他所有功能都可以使用。我需要检查按下按钮的权限,如果成功,则发送短信。当我授予执行权限时,对话框关闭,但是直到再次按下按钮时,它才触发“发送文本”。我已经在onRequestPermissionsResult()方法中调试并设置了断点,但是它从来没有涉及到它。首先调用此方法:    private void askForPermission() {    String[] permissions = new String[]{Manifest.permission.SEND_SMS};    ActivityCompat.requestPermissions(getActivity(), permissions, PERMISSIONS_CODE);}然后我的回调看起来是这样的:    @Overridepublic 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);                }            }        }    }}有没有人遇到类似的问题?欣赏任何帮助。谢谢
查看完整描述

3 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

您可以尝试以下方法:


requestPermissions(permissions, PERMISSIONS_CODE);

如果您从片段中调用此代码,则它具有自己的requestPermissions方法。我相信问题是您正在调用静态方法。


专业提示,如果您需要onRequestPermissionsResult()片段: FragmentCompat.requestPermissions(Fragment fragment, String[] permissions, int requestCode)


查看完整回答
反对 回复 2019-11-06
?
富国沪深

TA贡献1790条经验 获得超9个赞

我也遇到了这个问题。如果您希望该活动不处理历史记录/最近的权限,那么您将很想更改您的AndroidManifest.xml输入。


如果您设置了您要呼叫的活动requestPermissions或AppCompatActivity.requestPermissions使用 的活动


android:noHistory="true"

android:excludeFromRecents="true"

在您AndroidManifest.xml那时onRequestPermissionsResult()将不会被调用。如果您的活动来自Activity或,则为true AppCompatActivity。


可以通过删除“ AndroidManifest.xml”中的两个标志并使用其结束活动finishAndRemoveTask()来解决此问题。


查看完整回答
反对 回复 2019-11-06
  • 3 回答
  • 0 关注
  • 3173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信