Android 权限:谁在使用什么?

Android permissions: who is using what?

Android M 很快就来了,有了新的权限 API。我敢打赌,有很多开发人员无法控制他们的权限,试图弄清楚在哪里使用了什么。至少我的一些应用程序是这样。

有没有什么好的方法可以大致了解在什么地方使用了什么权限?概述 API 正在使用什么权限,或其他内容。

到目前为止我的方法是

a) 试图识别哪个 API 使用权限,并找到它。除了我自己的记忆和应用程序功能 b) 删除权限,看看有什么问题

即使您可以自动获得概览,您实际上也需要知道您需要在代码中的哪个位置请求权限。

幸运的是,它不是一个庞大的列表,您应该能够确定您可能需要请求的权限。

找到请求的位置取决于您列出的记忆技术、搜索技术以及查看遗忘的内容和损坏的内容,也就是测试。也许将来会有关于未测试权限的 lint 警告。

权限组和权限列表在Table 1:

https://developer.android.com/preview/features/runtime-permissions.html

只有9个权限组。其他权限保持normal,不需要测试。

android.permission-group.CALENDAR
android.permission-group.CAMERA
android.permission-group.CONTACTS
android.permission-group.LOCATION
android.permission-group.MICROPHONE
android.permission-group.PHONE
android.permission-group.SENSORS
android.permission-group.SMS
android.permission-group.STORAGE

Android Studio(最新版本,最新 SDK)在提醒您在需要的地方检查权限方面做得很好,因此如果授予权限,不难找出在何处添加检查.