我有一些Android权限,我想知道它们属于哪种permision PROTECTION LEVEL。有谁知道如何检查?例如,我需要了解android.permission.RECEIVE_BOOT_COMPLETED
权限的保护级别,但我想查看更多内容。
编辑:
我看到我没有说清楚:我的意思不是引入权限的API级别,而是权限保护级别,四种之一:正常,危险,Signeture,签名或系统。例如,它确定在应用程序安装期间如何向用户呈现此权限。如何查看某些权限属于哪个保护级别?
答案 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时,没有用于检查权限的集中策略 叫做。相反,调解取决于正确的位置 权限验证调用。
权限检查放在系统的API实现中 过程。必要时,API实现会调用 权限验证机制来检查调用 应用程序具有必要的权限。在某些情况下,API 库也可以冗余地检查这些权限,但是这样的检查 不能依赖:应用程序可以直接绕过它们 通过RPC存根与系统进程通信。允许 因此,检查不应出现在API库中。而不是 系统进程中的API实现应该调用权限 验证机制。
另外,请阅读这些文档以获取更多信息Android-Permission
答案 4 :(得分:0)