android自定义权限的实现
来源:互联网 发布:crm数据分析报告 编辑:程序博客网 时间:2024/05/16 12:52
在android开发中,有时需要利用自定义权限来保证android应用的安全,今天写一个自定义权限的小案例。包含了访问activity,service,以及发送广播可广播接受者,和自定义权限。
首先,新建两个工程,一个叫做security,另一个叫做securitytest
在seurity中定义,声明,并利用自定义的几个权限,在securitytest中就像用普通的权限一样,利用即可
security中声明权限如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.security" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="18" /> <permission android:name="com.tct.permission.READ_PROVIDER" android:protectionLevel="dangerous"> </permission> <permission android:name="com.tct.apermission.WRITE_PROVIDER" android:protectionLevel="dangerous"> </permission> <permission android:name="com.tct.attach.start_activity" android:protectionLevel="normal" > </permission> <permission android:name="com.tct.attach.service.permission" android:protectionLevel="normal" > </permission> <permission android:name="com.tct.attach.broadcastreceiver" android:protectionLevel="dangerous" > </permission> <uses-permission android:name="com.tct.attach.service.permission" /> <uses-permission android:name="com.tct.attach.start_activity" /> <uses-permission android:name="com.tct.attach.broadcastreceiver" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.security.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> <service android:name="com.example.security.MyService" android:permission="com.tct.attach.service.permission" > <intent-filter> <action android:name="com.test.action.service" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </service> <activity android:name="com.example.security.MyActivity" android:permission="com.tct.attach.start_activity" > <intent-filter> <action android:name="android.intent.action.MAIN" > </action> <category android:name="android.intent.category.DEFAULT" > </category> </intent-filter> </activity> <receiver android:name="com.example.security.MyBroadcaseReceiver" android:permission="com.tct.attach.broadcastreceiver" > <intent-filter> <action android:name="com.tct.receiver.action" > </action> </intent-filter> </receiver> <activity android:name="com.example.security.ShowReceiverActivity" > </activity> <activity android:name="com.example.security.MyBroadCast" > </activity> <provider android:name="com.example.contentprovider.MyContentProvider" android:authorities="com.liuhang.urlcontent" android:exported="true" ><!-- android:path="content://com.liuhang.urlcontent/person/3" --> <path-permission android:pathPrefix="/person" android:readPermission="com.tct.apermission.WRITE_PROVIDER" android:writePermission="com.tct.apermission.WRITE_PROVIDER" ></path-permission> <grant-uri-permission android:pathPrefix="/person"/> </provider> </application></manifest>securitytest中的AndroidManifest.xml文件如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.securitytest" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="12" android:targetSdkVersion="18" /> <uses-permission android:name="com.tct.attach.service.permission"/> <uses-permission android:name="com.tct.attach.start_activity"/> <uses-permission android:name="com.tct.attach.broadcastreceiver"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="com.tct.permission.READ_PROVIDER"/> <uses-permission android:name="com.tct.apermission.WRITE_PROVIDER"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.securitytest.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> <receiver android:name="com.example.securitytest.MyTestReceiver"> <intent-filter> <action android:name="com.test.permission.sendbroadcast"></action> </intent-filter> </receiver> </application></manifest>只有当在securitytest中利用了这些权限才可以访问对应的activity,service,contentprovider以及接受和发送对应的广播。
源码如下:http://download.csdn.net/detail/mockingbirds/8109057
0 0
- android自定义权限的实现
- Android自定义权限的应用
- android 权限的实现
- 自定义标签实现网站权限的控制
- 自定义标签实现网站权限的控制
- Android--Android自定义权限
- Android--Android自定义权限
- 自定义Android应用的访问权限
- Android权限的最佳实现
- android 自定义权限问题
- android自定义权限
- 【Android】自定义权限
- Android 自定义权限 permission
- android 自定义 permission 权限
- android 自定义权限 permission
- android 自定义权限 permission
- android 自定义权限 permission
- android 自定义权限
- 使用PullToRefresh实现下拉刷新和上拉加载
- jQuery Mobile 移动网站开发之日期控件Mobiscroll 2.5 使用说明
- Android开发笔记之:Handler Runnable与Thread的区别详解
- 《数据结构》第四章 字符串和多维数组 问题收集站
- C语言实现单向链表及其各种排序(含快排,选择,插入,冒泡)
- android自定义权限的实现
- 揭开Socket编程的面纱
- HDOJ 题目1546 Idiomatic Phrases Game(最短路径)
- 基于 Android NDK 的学习之旅----- C调用Java
- JS HTML DOM对象和脚本函数的互调用(字符串标识)
- Android Fragment完全解析
- 求三角形的类型
- 3D打印与模块化:机器人产业新机会
- 【原创】《Linux高级程序设计》杨宗德著 - 进程管理与程序开发 - exec和system函数