确定Android权限级别

时间:2012-05-18 12:25:31

标签: android permissions android-permissions

我有一些Android权限,我想知道它们属于哪种permision PROTECTION LEVEL。有谁知道如何检查?例如,我需要了解android.permission.RECEIVE_BOOT_COMPLETED权限的保护级别,但我想查看更多内容。

编辑:

我看到我没有说清楚:我的意思不是引入权限的API级别,而是权限保护级别,四种之一:正常,危险,Signeture,签名或系统。例如,它确定在应用程序安装期间如何向用户呈现此权限。如何查看某些权限属于哪个保护级别?

5 个答案:

答案 0 :(得分:6)

可以在最新的源代码中找到具有相关保护级别的默认权限列表:

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

示例:

<permission android:name="android.permission.INTERNET"
    android:permissionGroup="android.permission-group.NETWORK"
    android:protectionLevel="dangerous"
    android:description="@string/permdesc_createNetworkSockets"
    android:label="@string/permlab_createNetworkSockets" />

请记住,OEM可以更改它们。

答案 1 :(得分:4)

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

答案 2 :(得分:1)

this link中,您可以看到android的所有权限。 你在这里标记的级别:

答案 3 :(得分:0)

Android-Permission ..

  • 要强制执行权限,系统的各个部分都会调用a 权限验证机制来检查给定的应用程序 有特定的许可。权限验证机制是 作为可信系统进程的一部分实现,以及调用 权限验证机制遍布API。 在API时,没有用于检查权限的集中策略 叫做。相反,调解取决于正确的位置 权限验证调用。

    enter image description here

  • 权限检查放在系统的API实现中 过程。必要时,API实现会调用 权限验证机制来检查调用 应用程序具有必要的权限。在某些情况下,API 库也可以冗余地检查这些权限,但是这样的检查 不能依赖:应用程序可以直接绕过它们 通过RPC存根与系统进程通信。允许 因此,检查不应出现在API库中。而不是 系统进程中的API实现应该调用权限 验证机制。

另外,请阅读这些文档以获取更多信息Android-Permission

答案 4 :(得分:0)

您可以在permission documentation

中找到保护级别

android-website