Settings.System.canWrite 总是返回 false

Posted

技术标签:

【中文标题】Settings.System.canWrite 总是返回 false【英文标题】:Settings.System.canWrite always returns false 【发布时间】:2018-10-06 20:30:20 【问题描述】:

我使用下面的代码来获取系统权限......即使允许权限也会发生什么;还在显示..

@Override
    protected void onResume() 
        super.onResume();
        if (Build.VERSION.SDK_INT >= 23 && !Settings.System.canWrite(ChooseSender_Receiver.this))
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
            intent.setData(Uri.parse("package:" + ChooseSender_Receiver.this.getPackageName()));
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivityForResult(intent, REQUEST_WRITE_SETTINGS);
        

注意:我的问题是即使权限已经允许,它仍然显示弹出窗口..当拒绝并允许权限对话框正在关闭时。

我的设备是 Moto e2 & Redmi mbls 版本M

【问题讨论】:

这是一个特定于设备的问题吗?我刚刚在 android O 模拟器上对其进行了测试。它工作正常。尝试在其他几台设备上进行测试。并让我们知道设备信息。 @ADM 谢谢先生..它从 7.0 版本开始工作..我从 7.0 以下的版本中提到 我的问题是即使权限已经允许它仍然显示弹出窗口..当拒绝时并允许权限对话框正在关闭 斯塔兰奇。我刚刚测试了它在 Android M 上运行的 Lenovo 设备。并且它按预期工作。您应该将设备信息与操作系统版本一起添加到问题中。 @ADM 我的设备是 Moto e2 先生.....我将列出一些无法正常工作的设备... 那是你最后的问题,当我测试时我没有遇到它。所以你最好在你的问题中列出所有设备的详细信息。也许有人会用相同的设备调查它。机会很好啊.. 【参考方案1】:

这个终于没有办法解决了

它基于设备硬件问题..我检查共享它应用程序,即使它是 请求两次许可。

【讨论】:

以上是关于Settings.System.canWrite 总是返回 false的主要内容,如果未能解决你的问题,请参考以下文章