• Android protectionLevel


    Android protectionLevel分4个级别:

    "normal"
    "dangerous"
    "signature"
    "signatureOrSystem"

    如果定义的是前面两种normal或者dangerous, 我们自己的应用需要去访问其对应受保护的资源时只需要在androidManifest.xml中添加相同的uses-permission就行了。 如果是signature, 我们仅仅添加对权限的使用还不行, 必须同时具有相同的签名。 如果是signatureOrSystem(这种权限的应用第三方的应用无法单独访问), 不仅要有相同的签名,而且签名必须是系统签名,此外可能还需要android:sharedUserId="android.uid.system"。

    PermissionInfo.java中定义

    View Code

     于是protectionLevel 0 (NORMAL)、 1 (DANGEROUS)、2 (SIGNATURE)、18(signatureOrSystem,0x10 | 0x2)、50("signature|system|development",0x10 | 0x20 | 0x2)--某些开发工具。用编码来获取可参考文章Android Permissions - Protection Levels

    系统定义的这些permission来自两处:framework/base/core/res/AndroidManifest.xml和framework/base/data/etc/platform.xml,前者最主要,如android-4.4.2_r2

    比较这些Android平台版本上系统权限的差异需要参考ApiLevels进行,如用Beyond Compare 3比较AndroidManifest.zip。在看不到Android源码的条件下,也可运行命令(虽然权限不全):

    adb shell pm list permissions -f

  • 相关阅读:
    bzoj1130:[POI2008]POD Subdivision of Kingdom
    hdu1873-看病要排队-(结构体优先队列)
    历届试题 危险系数-(dfs+记录路径)
    POJ2536-Gopher II-(匈牙利算法)
    POJ2239-Selecting Courses-(匈牙利算法)
    CF308C-Sereja and Brackets-(线段树+括号匹配)
    hdu1005-Number Sequence-(循环节)
    matlab-层次分析法
    hdu5285-wyh2000 and pupil-(染色法二分图判定)
    matlab-线性回归
  • 原文地址:https://www.cnblogs.com/fanfeng/p/3561040.html
Copyright © 2020-2023  润新知