标签:
地址: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()会请求相关权限。
标签:
原文地址:http://my.oschina.net/u/134491/blog/504477