使用官方的AVD版本。 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

它们属于保护级别“signature | appop | pre23 | preinstalled”,这意味着只有相同签名的应用程序(基本已签名的系统),应用程序运算符(operator),定位在API级别23以下的应用程序和预先安装的应用程序才能拥有这些签名。

仅在API级别22及以下级别才需要。参见this
另外,您应该 checkout Behavior Changes

关于Android 6棉花糖: requests for some specific permissions are instantly denied with no ui shown,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32159232/

10-11 00:34