您的位置:首页 > 移动开发 > Android开发

Android 声明和使用权限

2015-12-06 23:59 417 查看

目的

为了保护用户资源的安全。要想使用此功能,必须在应用中声明权限信息,这样一来,在用户安装此应用时系统会从应用中提取出权限信息,告诉用户该应用使用到了哪些功能,由用户判断该应用是否损害自己的安全。


声明一个权限

<permission android:protectionLevel="normal"
android:name="scott.permission.MY_CALL_PHONE"/>


为Activity应用使用已定义的权限

<activity android:name=".PhoneActivity"
android.prmission="scott.intent.action.MY_CALL_PHONE/>
<intent-filter>
<action android:name="scott.intent.action.MY_CALL"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>


在同一应用中访问PhoneActivity也需要加上权限

<uses-permission android:name="scott.permission.MY_CALL_PHONE"/>


注意

声明权限时需要一个android:protectionLevel的属性,它代表“风险级别”。必须是以下值之一:

normal dangerous signature signatureOrSystem

normal 表示权限是低风险的,不会对系统、用户或其他应用程序造成危害

dangerous 表示权限是高风险的,系统将可能要求用户输入相关信息,才会授予此权限

signature 告诉Android,只有当应用程序所用数字签名与声明此权限的应用程序所有数字签名相同时,才能将权限授给它。

signatureOrSystem 告诉Android,将权限授给具有相同数字签名的应用程序或Android包类,这一级别适用于非常特殊的情况,比如多个供应商需要通过系统影像共享功能时。

另外一个是 android:permissionGroup属性,表示一个权限组。可以将权限放在一个组中,但对于自定义权限,应该避免设置此权限。如果确实希望设置此属性,可以使用以下属性代替:android.permission-group.SYSTEM_TOOLS.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: