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项目学习Kotlin(一)
  2. Android应用程序消息处理机制(Looper、Handler)分析
  3. Android(安卓)应用程序开发基础
  4. Android应用程序的自动更新升级(自身升级、通过tomcat) .
  5. Android(安卓)运行时权限处理(from jianshu)
  6. Android(安卓)安全机制
  7. 跟我学android应用开发 之 第一个Android应用程序
  8. Android(安卓)sharedUserId数据权限
  9. Android(安卓)2.3新特性:Web Apps概述

随机推荐

  1. 4.AutoCompleteTextView
  2. 【百度地图-安卓SDK】技术详解集锦
  3. Android(安卓)MediaCodec 解码H264码流播
  4. android基础
  5. 安卓的下拉控件Spinner
  6. Android系统自带的常用数据库
  7. [转]android:利用DatabaseUtils.InsertHel
  8. Android NDK开发初步
  9. Android studio 进度条
  10. #Android学习笔记(二)#