android中permission_group与permisson区别、作用

 

阅读Android SDK时可以发现, Android Manifest下有两个内部类, 一个是permission ,还有一个是permission_group。

 

 

这两个内部类是干什么的呢? 有什么区别呢?

 

对于Permission, 可能做过Android开发的人应该都知道, 这就是权限。 在这个类中定义了很多的权限,比如网络访问权限、蓝牙设备访问权限、振动器使用权限等等.. 

 

 

 

一般用法就是在 AndroidManifest.xml 中进行定义, 如下例:

 

 

这里面的<uses-permission android:name="android.permission.xxx" />就是权限定义。

 

一般我们都是在这边定义好, 不知道能不能动态授权噢.. 下次研究下!

 

那么permission_group是干什么的呢?

 

从SDK中可以看到, 这个类中只有很少的几个常量定义。究竟什么作用?

 

 

 

其实Android在定义 permission 时, 为每个Permission都进行了分组, 每一个Permission都有一个PermissionGroup属性。

 

来看一下Android源码(在frameworks/base/core/res /AndroidManifest.xml):

 

  

 

可以看到,这边先定义了一个PermissionGroup : android.permission-group.COST_MONEY, 然后又定义了两个Permission : 

android.permission.SEND_SMS  和 android.permission.CALL_PHONE , 需要注意的是,这两个权限中都一个android:permissionGroup属性,这个属性就指定了这个权限所属的PermissionGroup。

 

而PermissionGroup在定义时,仅仅制定了label和descrip , 就是说明一下这个权限组的作用,没什么其他用处。

 

 


 

下面总结一下:

 

permissiongroup,就是permission里面的一个tag。


主要作用是用来显示application需要的权限,


比如你使用了<uses-permission android:name="android.permission.INTERNET" />权限,
那么在android的setting->applications->manage applications->你的应用程序,显示的是需要“Network communication”权限,这个“Network communication”就是permissionGroup的label。


所以说permissiongroup只是一个逻辑分组,作用也只有显示应用程序权限给用户看的。

 

当然需要额外说明的是, 并不是所有的Permission都有PermissionGroup, 有的可能没有分组。 这些没有分组的Permission也会自己指定label, 以便告知用户这个权限的作用。

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值