有没有办法判断哪些Android API需要某个Android权限?例如,哪些API需要GET_TASKS或REBOOT权限?我的应用程序继承自早已离开的人,在清单中列出了这些权限。我不认为我们正在使用它们,但我也害怕如果我删除它们,将会产生不良后果。关于如何处理这个的任何想法?
答案 0 :(得分:6)
这两种权限都非常专业,只有一些用途。
<强> android.permission.REBOOT 强>
首先,此权限的保护级别为signatureOrSystem
,因此,除非您的应用程序是自定义ROM的一部分,或者您可以访问要安装它的平台的签名密钥,否则应用程序将赢得&甚至可以获得许可。]
需要致电PowerManager.reboot()
<强> android.permission.GET_TASKS 强>
此权限仅标记为dangerous
,因此您的应用实际上可以获得此权限。
ActivityManager
中有两个需要此权限的调用,getRecentTasks()
和getRunningTasks()
才能获取有关系统中当前应用程序任务的信息。自定义Launcher应用程序经常使用它来填充任务列表。
HTH
答案 1 :(得分:2)
PScout是一款分析Android SDK的工具,并生成了一张将Android权限映射到需要这些权限的方法的地图。
原版PScout网站不再起作用,但我从原始PScout中提取了映射并将其推送到Github。如果需要,您可以轻松检查并解析它。
在这里,您可以找到PScout发现的所有需要Android权限的方法。
PScout results- map of Android permissions and methods that require those permissions
答案 2 :(得分:0)
取出每一块然后运行。如果它继续工作,保留删除的内容并向下移动权限列表。