使用官方的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 level和protection 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/