轉載: 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, 以便告知用戶這個權限的作用。