Android中的权限分为两类,分别是:系统权限和自定义权限。
对于系统权限,主要是用来对访问某些敏感操作(绝大部分是访问本地能力)进行控制,比如:访问网络、打电话、查询联系人等。因此,开发者需要在用到这些被系统权限控制的接口时,需要在AndroidManifest.xml文件中声明。而在AndroidManifest.xml文件中声明后,就可以被android应用商店读取来提示用户应用需要用到哪些权限,或者安装应用时,也可以提醒用户。
对于系统权限,是对系统接口进行控制。对于应用自定义权限来说,并不能对应用接口进行控制,而是对应用组件进行控制。当然,由于一个应用程序访问另一个应用程序,都是通过组件访问,因此,这种情况,对接口进行控制也没有任何意义。
下面来简单介绍一下应用程序如何自定义权限,即permission。
比如:我要对我的应用的某个Activity进行权限控制,当其他应用程序启动我的这个Activity时,需要声明权限。
1、定义permission
其中,permission的上面两个属性是必填的,除此之外,还有protectionGroup、label、description、icon是选填的。
2、为Activity增加权限控制
3、其他应用程序访问上面的PermissionActivity时,需要在AndroidManifest.xml文件中声明权限
具体例子参见我的github示例工程中的PermissionActivity:https://github.com/tingzi/AndroidExample