android – WRITE_SETTINGS权限模糊

前端之家收集整理的这篇文章主要介绍了android – WRITE_SETTINGS权限模糊前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在建立我的应用程序的 Android 6.0 Marshmallow,它需要WRITE_SETTTINGS权限.搜索 from here后,我来到这个叫做:
requestPermissions(new String[]{Manifest.permission.WRITE_SETTINGS},101);

不会显示对话权限.所以,根据CommonsWare解决方案,我们应该检查Settings.System.canWrite()
返回true或false.所以我应该用ACTION_MANAGE_WRITE_SETTINGS作为动作来调用Activity.

但问题是当我调用这个活动时,它显示我的应用程序已被授予权限,但是Settings.System.canWrite()返回false.

我在这里缺少一些东西,或者我必须禁用它,然后再启用它.

解决方法

在我的Nexus 6使用Android 6.0.1(MMB29S)这段代码
if (!android.provider.Settings.System.canWrite(this)) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
    intent.setData(Uri.parse("package:dummy"));
    startActivity(intent);
}

仅当允许修改系统设置设置为禁用时才打开设置.例如,首次启动后,新安装(即不重新安装)

编辑(见注释):某些设备可能会在该代码中被检测出来,那些canWrite()总是返回false,无论设置的值如何.

猜你在找的Android相关文章