系统权限

原创
2015/09/10 15:19
阅读数 120

地址:https://developer.android.com/guide/topics/security/permissions.html

要执行自己的权限,首先要在manifest文件中申明,使用<permission>标签

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   
package="com.me.app.myapp" >
   
<permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
       
android:label="@string/permlab_deadlyActivity"
       
android:description="@string/permdesc_deadlyActivity"
       
android:permissionGroup="android.permission-group.COST_MONEY"
       
android:protectionLevel="dangerous" />
    ...
</manifest>

protectionLevel  权限级别

normal:低风险权限,只要申明就可以使用,安装时不用用户确认

dangerous:高风险权限,安装时需要用户确认

signature:只有当申请权限的用用的数字签名已申明此权限的应用的签名相同,才能将权限授予他

signatureOrSystem:签名相同,或申请权限的应用为系统应用

permissionGroup 

这个属性是可选的,用于帮助系统展示权限给用户。通常是设置为标准的系统组android.Manifest.permission_group 

android:label和android:description的文字会展示在权限列表和详情中。

所有的组件都有android:permission属性,命名这个权限用于访问他们。

Activity权限,用于限制谁能够启动相关联的Activity,这个权限会在Content.startActivity()和Activity.startActivityForResult()时候检查。如果调用者没有权限就会报SecurityException异常。

Service权限,限制启动和绑定的服务,在Context.startService(),Context.stopService(),Context.bindService的时候检查

BroadcastReceiver权限,限制谁能够发送广播道相关的接受者。这个权限会在Context.sendBroadcast()返回后检查,失败后并不会抛出异常给调用者。

ContentProvider权限,限制访问数据,在执行ContentResolver.query(),ContentResolver.insert(),ContentResolver.update(),ContentResolver.delete()会请求相关权限。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部