Android权限和ProtectionLevel

时间:2013-12-16 06:24:38

标签: android permissions

我们如何找到特定权限所需的Android防护级别。

让我们说android.permission.SET_ACTIVITY_WATCHERdocs

它属于什么保护级别?(docs

  • 危险
  • 系统或签名
  • 签名

2 个答案:

答案 0 :(得分:6)

你可以在这里找到一些权限:

https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml

另一个解决方案是以下代码示例:

getPackageManager().getPermissionInfo(name,  0).protectionLevel

在你的情况下是这个信息:

<!-- Allows an application to watch and control how activities are
         started globally in the system.  Only for is in debugging
         (usually the monkey command).
         <p>Not for use by third-party applications. -->
    <permission android:name="android.permission.SET_ACTIVITY_WATCHER"
        android:label="@string/permlab_runSetActivityWatcher"
        android:description="@string/permdesc_runSetActivityWatcher"
        android:protectionLevel="signature" />

答案 1 :(得分:2)

通常,各个API的创建者根据此API的收件人设置权限。

最好的方法是grep相应API权限的源代码。

Android文档公平地陈述了第三方的意图,以及什么不是。许可通常是&#34;正常&#34;用于普通的所有事物。

http://developer.android.com/reference/android/Manifest.permission.html#SET_ACTIVITY_WATCHER

回答您的许可问题 https://android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml

看片段..是签名许可。

允许应用程序监视和控制活动的方式          在系统中全球启动。仅用于调试          (通常是猴子命令)。          不适用于第三方应用程序

permission android:name="android.permission.SET_ACTIVITY_WATCHER"
    android:label="@string/permlab_runSetActivityWatcher"
    android:description="@string/permdesc_runSetActivityWatcher"
    android:protectionLevel="signature"