您的位置:首页 > 移动开发 > Android开发

安卓6.0系统权限问题android.permission.WRITE_SETTINGS

2017-06-02 15:34 1051 查看
关于“Android.permission.WRITE_SETTINGS”的权限,申请,判断

精简代码如下:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if(!Settings.System.canWrite(this)){
Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,
Uri.parse("package:" + getPackageName()));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, REQUEST_CODE_ASK_WRITE_SETTINGS);
}else{
//有了权限,你要做什么呢?具体的动作
}
}


在这里,Write_setting有个坑,申请了write_setting权限后,也出现闪退的情况,异常为:Java.lang.IllegalArgumentException: You cannot
keep your settings in the secure settings.

在android 6.0及以后,WRITE_SETTINGS权限的保护等级已经由原来的dangerous升级为signature,这意味着我们的APP需要用系统签名或者成为系统预装软件才能够申请此权限,并且还需要提示用户跳转到修改系统的设置界面去授予此权限

也就是说,要想申请该权限,apk必须要打包,签名打包。要签名打包,最喜欢的debug模式是不能申请该权限。

转自:http://blog.csdn.net/XieGaoXiong/article/details/52317155
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: