Android中的权限分为两类,分别是:系统权限和自定义权限。

对于系统权限,主要是用来对访问某些敏感操作(绝大部分是访问本地能力)进行控制,比如:访问网络、打电话、查询联系人等。因此,开发者需要在用到这些被系统权限控制的接口时,需要在AndroidManifest.xml文件中声明。而在AndroidManifest.xml文件中声明后,就可以被android应用商店读取来提示用户应用需要用到哪些权限,或者安装应用时,也可以提醒用户。

对于系统权限,是对系统接口进行控制。对于应用自定义权限来说,并不能对应用接口进行控制,而是对应用组件进行控制。当然,由于一个应用程序访问另一个应用程序,都是通过组件访问,因此,这种情况,对接口进行控制也没有任何意义。

下面来简单介绍一下应用程序如何自定义权限,即permission。

比如:我要对我的应用的某个Activity进行权限控制,当其他应用程序启动我的这个Activity时,需要声明权限。

1、定义permission

<permission android:name="com.ting.permission.START_PERMISSION_ACTIVITY" android:protectionLevel="normal"></permission>
其中,permission的上面两个属性是必填的,除此之外,还有protectionGroup、label、description、icon是选填的。

2、为Activity增加权限控制

<activity android:name=".ui.activities.PermissionActivity"             android:label="@string/PermissionActivity"            android:permission="com.ting.permission.START_PERMISSION_ACTIVITY">        <intent-filter>            <action android:name="com.ting.intent.action.START_PERMISSION_ACTIVITY"/>            <category android:name="android.intent.category.DEFAULT"/>        </intent-filter>        </activity>

3、其他应用程序访问上面的PermissionActivity时,需要在AndroidManifest.xml文件中声明权限

<uses-permission android:name="com.ting.permission.START_PERMISSION_ACTIVITY" />

具体例子参见我的github示例工程中的PermissionActivity:https://github.com/tingzi/AndroidExample



更多相关文章

  1. Android输入系统
  2. Android sharedUserId数据权限
  3. Android系统的内存管理研究
  4. [原]Android应用程序注册广播接收器(registerReceiver)的过程分析
  5. 跟我学android应用开发 之 第一个Android应用程序
  6. Android 运行时权限处理(from jianshu)
  7. Android系统架构概述
  8. Android系统各个版本 最新市场份额变换
  9. Android应用程序的自动更新升级(自身升级、通过tomcat) .

随机推荐

  1. Android中Handler机制
  2. Android(安卓)复制到剪贴板
  3. android xml中应用占位符
  4. Android(安卓)Camera2 API 学习笔记2
  5. Android(安卓)SMS(一) —— 读取短信
  6. android导航条的制作
  7. Android信使Messenger解析
  8. Android应用程序创建桌面快捷方式
  9. Android:上下拖动切换界面
  10. Google Android(安卓)文档笔记-Training-