Android 6 Marshmallow:一些特定权限的请求被立即拒绝,没有显示ui

前端之家收集整理的这篇文章主要介绍了Android 6 Marshmallow:一些特定权限的请求被立即拒绝,没有显示ui前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用官方AVD rev. 3

打电话给:

ActivityCompat.requestPermissions(activity,new String[]{"android.permission.USE_CREDENTIALS"},REQUEST_PERMISSION_CREDENTIALS);

立即开火:

onRequestPermissionsResult (int requestCode,String[] permissions,int[] grantResults)

结果代码是PackageManager.PERMISSION_DENIED

任何人都有修复?

更新:
已知受影响:

Manifest.permission.CHANGE_NETWORK_STATE
Manifest.permission.WRITE_SETTINGS (solved,see Sam's answer)
android.permission.USE_CREDENTIALS (solved,read Update 2)
READ_SMS

更新2:
看到优秀的接受答案.从本质上讲,USE_CREDENTIALS现在是一个安全的许可.打败我为什么sdk不仅仅为它返回PERMISSION_GRANTED ……

解决方法

请参阅以下页面permissions by protection levelprotection level definitions.

Manifest.permission.CHANGE_NETWORK_STATE

Manifest.permission.WRITE_SETTINGS

这些都属于“signature | appop | pre23 | preinstalled”的保护级别,这意味着只有相同签名的应用程序(基本上是系统签名的),应用程序操作符,目标低于API级别23的应用程序和预先设定的应用程序才能拥有这些.

android.permission.USE_CREDENTIALS

这仅在API级别22及更低级别上需要.见this.

另外你应该看看Behavior Changes.

猜你在找的Android相关文章