Android使用自定义权限
2016-02-09 13:47
417 查看
说明:博客纯手工编写,转载或收藏请注明出处,觉得可以或支持作者的,请添加作者支付宝:872157571@qq.com(生活圈中“每天一主题”微博客更新,请求好友时请备注“csdn”)
自定义权限一般用于某个活动的访问保护,只有拥有该权限的客户端才可以访问该活动,通常自己客户端在自定义权限时已经默认拥有了权限,而其他客户端如需要访问该活动,则必须加上该活动需要的权限,权限声明在全局上。
当前客户端的AndroidManifest文件:
其他客户端的AndroidManifest文件:
自定义权限需要注意的地方:
android:name: 权限的唯一标识,一般都是使用 报名加权限名
android:protectionLevel: 权限的等级
android:description: 描述这个权限所针对的操作及用户授予这个权限的后果
android:label: 权限的一个简短描述
android:permissionGroup: 权限所属权限组的名称
补充:
normal:是最低的等级,声明次权限的app,系统会默认授予该权限,不会提示用户(默认赋予的权限,换句话说就是只需要定义name属性即可)
dangerous:权限对应的操作有安全风险,系统在安装声明此类权限的app时会提示用户
signature:权限表明的操作只针对使用同一个证书签名的app开放
signatureOrSystem:与signature类似,只是增加了rom中自带的app的声明
注:android:name 属性是必须的,其他的可选,未写的系统会指定默认值
说明:博客纯手工编写,转载或收藏请注明出处,觉得可以或支持作者的,请添加作者支付宝:872157571@qq.com(生活圈中“每天一主题”微博客更新,请求好友时请备注“csdn”)
代码下载:http://download.csdn.net/detail/huang_wei_cai/9429300
自定义权限一般用于某个活动的访问保护,只有拥有该权限的客户端才可以访问该活动,通常自己客户端在自定义权限时已经默认拥有了权限,而其他客户端如需要访问该活动,则必须加上该活动需要的权限,权限声明在全局上。
当前客户端的AndroidManifest文件:
<?xml version="1.0" encoding="utf-8"?> <manifest package="com.example.test" android:versionCode="1" android:versionName="1.0" xmlns:android="http://schemas.android.com/apk/res/android"> <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" /> <!-- permission:自定义权限标签,系统权限的定义也是使用该标签 --> <permission android:name="custom.permission.MYACTIVITY" android:protectionLevel="normal" android:label="Start My Activity" android:description="@string/my_activity"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.test.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!-- 哪个活动需要被保护,就在哪个活动上加入访问权限即可,在全局上声明权限一般都是系统级别的,表明当前应用拥有做该资源和功能的使用权限 --> <activity android:permission="custom.permission.MYACTIVITY" android:name="com.example.test.Main1Activity" android:label="@string/title_activity_main1" > <!-- 定义这个过滤器是便于被访问的有入口 --> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> </application> </manifest>
其他客户端的AndroidManifest文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test_" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="4"/> <!-- 在全局上声明可能需要访问保护活动的权限,写法最好模仿系统的写法,权限名称没有固定的规定 --> <uses-permission android:name="custom.permission.MYACTIVITY" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.test_.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
自定义权限需要注意的地方:
android:name: 权限的唯一标识,一般都是使用 报名加权限名
android:protectionLevel: 权限的等级
android:description: 描述这个权限所针对的操作及用户授予这个权限的后果
android:label: 权限的一个简短描述
android:permissionGroup: 权限所属权限组的名称
补充:
normal:是最低的等级,声明次权限的app,系统会默认授予该权限,不会提示用户(默认赋予的权限,换句话说就是只需要定义name属性即可)
dangerous:权限对应的操作有安全风险,系统在安装声明此类权限的app时会提示用户
signature:权限表明的操作只针对使用同一个证书签名的app开放
signatureOrSystem:与signature类似,只是增加了rom中自带的app的声明
注:android:name 属性是必须的,其他的可选,未写的系统会指定默认值
说明:博客纯手工编写,转载或收藏请注明出处,觉得可以或支持作者的,请添加作者支付宝:872157571@qq.com(生活圈中“每天一主题”微博客更新,请求好友时请备注“csdn”)
代码下载:http://download.csdn.net/detail/huang_wei_cai/9429300
相关文章推荐
- Android逆向分析(一) - 反编译看看手Q口令红包的实现原理
- Android开发学习之路-抢红包助手开发全攻略
- Android2D绘图基础
- Android tab导航的几种方法:ActionBar tab +fragment,Viewpager+pagerTitleStrip,开源框架ViewPageIndicator 和 ViewPager
- Android笔记activity的生命周期
- Android 布局(fill_content、wrap_content、match_parent)
- Android开发环境搭建
- Android Annotations环境搭建(Android Studio)
- android调用音乐播放器,三种方
- 源码解析Android中View的measure量算过程
- 【Android】7.0 第7章 简单适配器和布局--本章示例主界面
- android优化原理
- 【Android开发小记--18】SharedPreferences 以及 PreferenceActivity
- android bitmap compress
- Android 前后台切换与OpenGL(EGL)创建销毁的周期
- Android开发笔记(五十八)铃声与震动
- 2.4 Android SDK在线更新镜像服务器,Androidsdk 在线更新
- Android 混淆代码总结
- ecplise 中导入 Android design support library
- Android - 设置adb的usb连接配置