转载: http://blog.csdn.net/feng88724/article/details/6409313
其实Android在定义 permission 时, 为每个Permission都进行了分组, 每一个Permission都有一个PermissionGroup属性。
来看一下Android源码(在frameworks/base/core/res /AndroidManifest.xml):
可以看到,这边先定义了一个PermissionGroup 后又定义了Permission :
而PermissionGroup在定义时,仅仅制定了label和descrip , 就是说明一下这个权限组的作用,没什么其他用处。
1: permission-group android:name="android.permission-group.NETWORK" 所对应的说明文字:
2: permission android:name="android.permission.INTERNET" 对应的说明性文字:
3: 我们看看手机setting中的展示(我的手机是api 16 的,没有5.0截图,不过都差不多)
总结:
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, 以便告知用户这个权限的作用。