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.
相关文章推荐
- Android自定义软键盘KeyboardView 使用实例
- 基于Android的闹钟的软件
- Android
- DynamicAPK基本概念
- Android PullZoomView:PullToZoomListViewEx(1)
- Android学习之路-Fragment之二
- Android一些小知识-不定时更新
- Android群英传之Android控件建构与自定义控件详解知识点总结
- Android开发日记(六)
- Android Support Design - TextInputLayout
- android 的view类的setVisibility()
- 2.运行你的App-Google官网上的Android初学训练
- Android实践项目汇报(总结)
- Android图片加载(二)--妹子图客户端改进
- Android自定义TextView省略号样式
- Android常用权限
- 编译错误jni/Android.mk:12: *** commands commence before first targe
- 1.创建Android项目-Google官网上的Android初学训练
- 自定义模拟+数字时钟,整合AnalogDigitalView
- Android Studio apk 打包流程