android的系统权限定义

系统的权限定义文件为frameworks/base/core/res/AndroidManifest.xml


其中的一个样例

<permission android:name="android.permission.FORCE_STOP_PACKAGES"
 android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
 android:protectionLevel="signature"
 android:label="@string/permlab_forceStopPackages"
 android:description="@string/permdesc_forceStopPackages"/>

android:protectionLevel表示权限的保护级别,Android对这些权限进行了四类分级,不同级别的权限对应不同的认证方式。

normal:低风险权限,只要申请就可以使用(在AndroidManifest.xml中添加<uses-permission>标签),安装时不需要用户确认;
dangerous:高风险权限,安装时需要用户的确认才可使用;
signature:只有当申请权限的应用程序的数字签名与声明此权限的应用程序的数字签名相同时(如果是申请系统权限,则需要与系统签名相同),才能将权限授给它;
signatureOrSystem:签名相同,或者申请权限的应用为系统应用(在system image中)。

上述四类权限级别同样可用于自定义权限中。如果开发者需要对自己的应用程序(或部分应用)进行访问控制,则可以通过在AndroidManifest.xml中添加<permission>标签,将其属性中的protectionLevel设置为上述四类级别中的某一种来实现。


android:protectionLevel="signature"意思是:app使用FORCE_STOP_PACKAGES权限,app必须和这个权限的声明者的签名保持一致!FORCE_STOP_PACKAGES的声明者是frameworks/base/core/res/,可以在frameworks/base/core/res/Android.mk中看到它的签名信息。

LOCAL_NO_STANDARD_LIBRARIES := true
LOCAL_PACKAGE_NAME := framework-res
LOCAL_CERTIFICATE := platform

即,签名为platform。最终得到结论,app需要是platform签名,才可以使用forceStopPackage方法!





















转载于:https://my.oschina.net/u/221552/blog/325741

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值