我在哪里可以获得Android权限列表

Sco*_*tus 25 android android-manifest

我正在尝试获取有效的Android权限列表.我知道http://developer.android.com/reference/android/Manifest.permission.html上的"官方"版本,但似乎还有更多.

例如

android.permission.READ_SETTINGS
android.permission.ACCESS_LOCATION
android.permission.ACCESS_GPS

com.android.vending.CHECK_LICENSE

com.android.browser.permission.READ_HISTORY_BOOKMARKS
com.android.browser.permission.WRITE_HISTORY_BOOKMARKS

com.google.android.googleapps.permission.GOOGLE_AUTH
com.google.android.googleapps.permission.GOOGLE_AUTH.OTHER_SERVICES

com.google.android.c2dm.permission.RECEIVE
Run Code Online (Sandbox Code Playgroud)

我在哪里可以得到这样的清单?我在哪里获得这些权限的说明?

小智 21

adb shell pm list permissions -s

这可能就是你要找的东西.

  • 也可以不用`-s`试试 (2认同)
  • @androiddeveloper yupp,现在就搞定了.但那将是一个"新问题"而不是;)答案:`adb shell dumpsys package com.foo.bar`,并在输出中跳转到`grantedPermissions:`.下面是"完整符号"的权限,例如`android.permission.INTERNET`,每行一个.当然你必须用您感兴趣的包名替换`com.foo.bar`;) (2认同)

Cha*_*ins 14

对于所有权限,没有全面的"列表".任何想要强制执行自己的应用程序都可以定义新权限:https://developer.android.com/guide/topics/security/security.html#declaring.

本Manifest.permission类列出了"系统"的权限,你已经知道这些的.您列出的其他内容不是系统权限,而是特定于某些应用程序,或者是旧名称(例如,ACCESS_LOCATION和ACCESS_GPS是1.0之前的名称).

<permission android:name=源代码中的grep 会显示所有包含的应用程序权限(对于开源应用程序),但一般来说,您应该坚持使用文档化的权限名称.


小智 12

使用以下代码段获取您设备上声明的所有权限:

Context context = this;
PackageManager pm = context.getPackageManager();
CharSequence csPermissionGroupLabel;
CharSequence csPermissionLabel;

List<PermissionGroupInfo> lstGroups = pm.getAllPermissionGroups(0);
for (PermissionGroupInfo pgi : lstGroups) {
    csPermissionGroupLabel = pgi.loadLabel(pm);
    Log.e("perm", pgi.name + ": " + csPermissionGroupLabel.toString());

    try {
        List<PermissionInfo> lstPermissions = pm.queryPermissionsByGroup(pgi.name, 0);
        for (PermissionInfo pi : lstPermissions) {
            csPermissionLabel = pi.loadLabel(pm);
            Log.e("perm", "   " + pi.name + ": " + csPermissionLabel.toString());
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)


Ste*_*ker 5

列出手机上的所有权限

adb shell pm list permissions -g
Run Code Online (Sandbox Code Playgroud)

-s参数是一个简短的摘要