【问题标题】:Determining the level of Android permission确定 Android 权限级别
【发布时间】:2012-05-26 00:39:45
【问题描述】:

我有一些 Android 权限,我想知道它们属于哪个权限保护级别。有人知道如何检查吗?例如我需要知道android.permission.RECEIVE_BOOT_COMPLETED权限的保护级别,但我想检查更多。

编辑:

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

【问题讨论】:

    标签: android permissions android-permissions


    【解决方案1】:

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

    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 可以更改它们。

    【讨论】:

      【解决方案2】:
      getPackageManager().getPermissionInfo(name,  0).protectionLevel
      

      【讨论】:

        【解决方案3】:

        this link可以看到android的所有权限。 您在此处标记的级别:

        【讨论】:

        • 谢谢,但这不是我的意思。我更正了上面的问题,所以如果您对此有所了解,我将不胜感激:)
        • 图片看不到
        【解决方案4】:

        对于Android-Permission..

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

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

        也只需阅读此文档以获取更多信息Android-Permission

        【讨论】:

        • 谢谢。我已经知道关于权限的这些东西。我更正了上面的问题,以更清楚地说明我的意图。请检查您是否知道答案。
        • @user370305 太难理解了。你能简化一下吗?
        【解决方案5】:

        您可以在permission documentation中找到保护级别

        【讨论】:

          猜你喜欢
          • 2020-06-02
          • 1970-01-01
          • 2019-10-09
          • 2011-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多