[Android]权限处理
16lz
2022-03-22
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
更多相关文章
- 从Android项目学习Kotlin(一)
- Android应用程序消息处理机制(Looper、Handler)分析
- Android(安卓)应用程序开发基础
- Android应用程序的自动更新升级(自身升级、通过tomcat) .
- Android(安卓)运行时权限处理(from jianshu)
- Android(安卓)安全机制
- 跟我学android应用开发 之 第一个Android应用程序
- Android(安卓)sharedUserId数据权限
- Android(安卓)2.3新特性:Web Apps概述