Android 我如何确定在给定权限下用户将使用什么代码?

Android 我如何确定在给定权限下用户将使用什么代码?,android,android-permissions,Android,Android Permissions,例如,让我们以android.permission.GET\u PACKAGE\u SIZE为例 在Android 1.6*.xml源文件中搜索该字符串时,只指向使用该字符串的单个应用程序,frameworks\base\tests\AndroidTests 因此,下一步是搜索.java文件,希望最终找到类似于它查询包大小的代码 这是发现权限使用的假定方法吗?只需检查 GET\u PACKAGE\u SIZE:允许 应用程序查找所使用的空间 任何包装都可以 编辑 我可能误解了这个问题。如果您想

例如,让我们以android.permission.GET\u PACKAGE\u SIZE为例
在Android 1.6*.xml源文件中搜索该字符串时,只指向使用该字符串的单个应用程序,
frameworks\base\tests\AndroidTests

因此,下一步是搜索.java文件,希望最终找到类似于它查询包大小的代码

这是发现权限使用的假定方法吗?

只需检查

GET\u PACKAGE\u SIZE
:允许 应用程序查找所使用的空间 任何包装都可以

编辑
我可能误解了这个问题。如果您想使用权限值知道什么代码是。然后,您实际上必须自己挖掘源代码。

一般来说,您可以找到所需的权限,因为这些权限是从您想要使用的API中引用的,通常在文档中,偶尔也有例外

相反,如果给定的权限未在文档中引用,除非其命名(例如,在
清单.permission
上),则可能是您没有资格持有的系统权限,除非您正在使用替代固件

而且,如果您正在使用其他固件,您将非常熟悉搜索源代码。我个人使用谷歌代码搜索,比如你想要的权限


因此,在
GET\u PACKAGE\u SIZE
的情况下,您在文档中找到它的唯一位置是
Manifest.permission
,而源代码要求它的唯一位置是在非SDK方法中,因此我怀疑您无法保存它。

管理应用程序UI使用受此权限保护的API。它可能不会在其清单中请求权限,因为它作为系统用户ID运行,因此隐式获取权限

对于一般的应用程序,是的,您可以查看其AndroidManifest.xml以查找权限。共享用户ID使这变得复杂,它允许多个应用程序作为同一uid运行,从而共享权限;任何请求权限的此类应用都会将该权限授予所有此类应用。具有管理应用程序UI的设置应用程序使用“系统”共享用户ID,以便获得系统可用的所有此类权限