Android - 我如何知道所有需要特定权限的方法?
Android - How do I know all methods that require a certain permission?
我从事的项目目前需要 21 (!) 个权限。
我想清理它,因为我认为其中很多都是不必要的(例如,有一个 android.permission.CALL_PHONE
的许可可以删除,因为几乎相同的事情可以通过Intent
与 ACTION_DIAL
).
我想知道的是一种方法,获得许可(例如,android.permission.AUTHENTICATE_ACCOUNTS
)找到所有需要该许可的方法。
请注意,相反的情况很容易,即给定一个方法,很容易找到该方法是否需要任何权限(只需转到文档并检查),但反过来呢?
如果您没有设置权限,编译器不会警告您。不,应用程序只是在运行时崩溃。
抱歉,您必须走很远的路,搜索您认为可能需要权限的方法并将其删除
再次研究后,我在 SO 上遇到了类似的问题。 Ben Holland 解释说有 2 项关于这个问题的研究。 None 提出的解决方案 100% 完美,但这是我们迄今为止最好的解决方案。
更多详细信息,请访问:
在这里您可以找到 PScout 找到的所有需要 Android 权限的方法。 PScout 是一个工具,可以完成您需要的这项特定工作,但原始网站已离线。
PScout results- map of Android permissions and methods that require those permissions
我从事的项目目前需要 21 (!) 个权限。
我想清理它,因为我认为其中很多都是不必要的(例如,有一个 android.permission.CALL_PHONE
的许可可以删除,因为几乎相同的事情可以通过Intent
与 ACTION_DIAL
).
我想知道的是一种方法,获得许可(例如,android.permission.AUTHENTICATE_ACCOUNTS
)找到所有需要该许可的方法。
请注意,相反的情况很容易,即给定一个方法,很容易找到该方法是否需要任何权限(只需转到文档并检查),但反过来呢?
如果您没有设置权限,编译器不会警告您。不,应用程序只是在运行时崩溃。
抱歉,您必须走很远的路,搜索您认为可能需要权限的方法并将其删除
再次研究后,我在 SO 上遇到了类似的问题。 Ben Holland 解释说有 2 项关于这个问题的研究。 None 提出的解决方案 100% 完美,但这是我们迄今为止最好的解决方案。
更多详细信息,请访问:
在这里您可以找到 PScout 找到的所有需要 Android 权限的方法。 PScout 是一个工具,可以完成您需要的这项特定工作,但原始网站已离线。
PScout results- map of Android permissions and methods that require those permissions