当前位置: 首页 > 知识库问答 >
问题:

Android M使用对话框“Don't ask Again”时出现权限问题

戚阳
2023-03-14

通过作用域目录访问授予权限是一种更简单的方法,但Dialog将显示一个名为“不再询问”的复选框。如果用户选择Don't ask again并拒绝请求,那么以后所有从您的app对给定目录的请求都将被自动拒绝,并且不会向用户呈现任何请求UI。如果用户后悔或误打了该复选框,应用程序如何补救?应用程序无法获得权限对话框。

我们该怎么处理?

共有1个答案

时经纬
2023-03-14

我们应该使用ShouldShowRequestPermissionRationale。请执行以下操作:

private void insertDummyContactWrapper() {
        int hasWriteContactsPermission = checkSelfPermission(Manifest.permission.WRITE_CONTACTS);
        if (hasWriteContactsPermission != PackageManager.PERMISSION_GRANTED) {
                if (!shouldShowRequestPermissionRationale(Manifest.permission.WRITE_CONTACTS)) {
                    showMessageOKCancel("You need to allow access to Contacts",
                            new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    requestPermissions(new String[] {Manifest.permission.WRITE_CONTACTS},
                                            REQUEST_CODE_ASK_PERMISSIONS);
                                }
                            });
                    return;
                }
            requestPermissions(new String[] {Manifest.permission.WRITE_CONTACTS},
                    REQUEST_CODE_ASK_PERMISSIONS);
            return;
        }
        insertDummyContact();
    }
 类似资料:
  • 我编写了一个简单的应用程序,通过USB向连接到Android 4.0平板电脑的USB打印机发送命令。由于某些原因,我无法通过获取权限来声明接口和打开连接。以下是相关代码: 这是清单的相关部分: 我已将设备配置为,以便在连接打印机时启动我的应用,并在枚举期间找到该设备(onResume())并调用权限请求。但是,无论出于何种原因,我从未看到“请求权限”对话框(我在网上看过它的屏幕截图),也不会调用o

  • 通过范围目录访问开通权限是一种更简单的方法,但是对话框将显示一个名为“不要再问”的复选框。如果用户选择不要再问,并拒绝请求,所有未来的请求从您的应用程序给定的目录将被自动拒绝,没有请求UI将呈现给用户。应用程序无法获取权限对话框。 我们如何处理这件事?

  • 我一直在尝试实现运行时权限。下面是它的代码片段: RunTimePermissionsUtil。JAVA 在一个名为AddFileActivity的活动中,我在一个点击事件中实现了这个监听器,其代码如下: 所以,我所有的代码都会执行,它会进入onNeed权限()代码,其中,它会进入 但是,令人惊讶的是,在此之后,没有任何对话框要求获得摄像头的运行时权限,相反,对话框关闭并再次显示活动。 有没有人能

  • 我正试图让我的应用程序为新的Android M权限更改做好准备,发现了一些奇怪的行为。我的应用程序使用相机意图机制,允许用户从相机中获得一张照片。但是在另一个活动中,需要使用具有camera权限的camera本身(因为库依赖项card.io需要这样做)。 这是我用来让用户用相机点击一张照片和/或选择一张图像的代码 我在活动中单击按钮时调用。当我没有相机权限在我的应用程序,它的工作很好,但与添加,我

  • 我正在开发一个使用USB附件的应用程序。当我将设备连接到arduino时,它要求usb许可,并且在对话框中有复选框“默认使用”。当我检查并按下“确定”时,它应该会保存许可,并且不再询问我,但每次我连接USB时它都在询问许可。我想保存权限有什么方法可以保存这个吗? 我的代码看起来像 Android清单文件看起来 附件过滤器就像 我的广播接收器代码 和设置附件代码

  • 本文向大家介绍Android AlertDialog实现分享对话框/退出对话框/下载对话框,包括了Android AlertDialog实现分享对话框/退出对话框/下载对话框的使用技巧和注意事项,需要的朋友参考一下 一.摘要 弹窗通常用于提示用户进行某种操作,比如:点击分享按钮,弹窗分享对话框;双击返回按钮,弹窗退出对话框;下载文件,提示下载对话框等等,分享对话框/退出对话框/下载对话框,都可以直