一些权限' protectionLevel似乎被错误地记录或实现

时间:2015-08-25 16:05:42

标签: android android-permissions android-6.0-marshmallow

我在PROTECTION_NORMAL中运行了许多标记为PROTECTION_DANGEROUSListView的权限。点击我的应用程序后调用ActivityCompat.requestPermission()

我测试的所有权限(我的意思是所有normaldangerous permissions for API-7 and above I could find)在我的模拟器上工作正常,除了一些:

  • CHANGE_NETWORK_STATE

请求CHANGE_NETWORK_STATE始终返回PackageManager.PERMISSION_DENIED(甚至没有提示)。 我希望默认授予它,因为它标记为normal,或者如果文档错误,则会提示它。

  • GET_ACCOUNTS

请求GET_ACCOUNTS在提示后生效,但文档会将此权限列为normal而不是dangerous(对话框要求"访问您的联系人")。 我希望默认授予它,因为它标记为normal并且不会提示它。

  • READ_CELL_BROADCASTS

listedSMS权限组的权限,但Manifest.permission包中不存在该权限。

是的,所有权限都在我的 AndroidManifest.xml

问题

  1. 我是唯一一个拥有这个的人吗?
  2. 是模拟器特定的吗?
  3. 文档是否有问题或预览版本是否错误?

2 个答案:

答案 0 :(得分:2)

确实如此。

结果证明这些工作正在进行中并且主要承认错误。

我发布了GET_ACCOUNTS的新错误,尚未报告。

主要是为最终版本/文档(也就是非预览版)修复。

答案 1 :(得分:0)

requestPermission()的文档声明只应调用已授予dangerous保护级别且的权限。您是先调用checkSelfPermission()而只是请求它失败了吗?

当前图像仍然是预览,因此可能出现行为不端的情况。但是,如果文档声明只应在某些条件下调用API,那么如果不符合这些条件,它们可能会出错。