Android - 我如何知道需要特定权限的所有方法?

时间:2015-06-02 03:06:55

标签: android permissions android-manifest android-permissions

我正在处理一个目前要求21(!)权限的项目。

我想要清理它,因为我相信其中很多都不是必需的(例如,有android.permission.CALL_PHONE的权限可以删除,因为使用{{{{}}可以实现同样的目的。 1}}与Intent)。

我想知道的是一种方法,获得许可(例如,ACTION_DIAL)查找所有需要该许可的方法

请注意,相反的情况很简单,即,给定一种方法,很容易找到该方法是否需要任何许可(只需转到文档和检查),但另一种方法呢?

3 个答案:

答案 0 :(得分:1)

在这里,您可以找到PScout找到的所有需要​​Android权限的方法。 PScout是一个工具,可以完成您需要的这项特殊工作,但原始网站处于脱机状态。

PScout results- map of Android permissions and methods that require those permissions

答案 1 :(得分:0)

如果您没有设置权限,编译器就不会警告您。不,相反,应用程序只是在运行时崩溃。

我很抱歉,但您必须走很长的路,寻找您认为可能需要权限的方法并将其删除

答案 2 :(得分:0)

在再次研究之后,我在SO上遇到了类似的问题。 Ben Holland解释说有2项关于这个问题的研究。所提出的解决方案都没有100%完美无瑕,但它是迄今为止我们所拥有的最佳解决方案。

更多详情请见:https://stackoverflow.com/a/24019120/1369016