从android文档中可以清楚地了解到 使用“权限组”我们可以创建权限组。 使用android清单文件中的“permission”元素,我们可以定义一个权限。 此权限可以添加到权限组。
如果我们将此权限组命名为“com.example.permission-group” 我们可以使用“使用许可”在另一个应用程序中使用它。 如果我们可以使用,我们是否可以访问该组的所有权限。
如果上述情况有误,那么我们如何利用“权限组”
答案 0 :(得分:13)
标记权限组仅用于对特定类别下的一个或多个权限进行分组。来自开发者的网站http://developer.android.com/guide/topics/manifest/permission-group-element.html
Declares a name for a logical grouping of related permissions. Individual
permission join the group through the permissionGroup attribute of the
<permission> element. Members of a group are presented together in the
user interface.
Note that this element does not declare a permission itself, only a category in
which permissions can be placed. See the <permission> element for element for
information on declaring permissions and assigning them to groups.
例如,消息相关的权限,例如android.permission.SEND_SMS,RECEIVE_SMS以及与消息相关的所有权限都在android.permission-group.MESSAGES下分组,以便有一个共同的图标。
来自android source https://github.com/android/platform_frameworks_base/blob/master/core/res/AndroidManifest.xml的AndroidManifest.xml
<permission-group android:name="android.permission-group.MESSAGES"
android:label="@string/permgrouplab_messages"
android:icon="@drawable/perm_group_messages"
android:description="@string/permgroupdesc_messages"
android:permissionGroupFlags="personalInfo"
android:priority="360"/>
<!-- Allows an application to monitor incoming SMS messages, to record
or perform processing on them. -->
<permission android:name="android.permission.RECEIVE_SMS"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="dangerous"
android:label="@string/permlab_receiveSms"
android:description="@string/permdesc_receiveSms" />
<!-- Allows an application to send SMS messages. -->
<permission android:name="android.permission.SEND_SMS"
android:permissionGroup="android.permission-group.MESSAGES"
android:protectionLevel="dangerous"
android:permissionFlags="costsMoney"
android:label="@string/permlab_sendSms"
android:description="@string/permdesc_sendSms" />
此处,当您的应用程序使用这些权限时,android.permission-group.MESSAGES会将这些权限分类为常用图标和权限名称。
给
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
在示例应用程序中查看结果。这两个权限将分组为一个共同的类别。
费用金额是因为SEND_SMS权限中的android:permissionFlags =“costsMoney”。因此,权限组仅用于对权限进行分类。它不能用于分组一个或多个权限。
答案 1 :(得分:4)
permission-group
标记允许您创建group
自定义权限。
声明相关权限的逻辑分组的名称。个人权限通过权限元素的permissionGroup属性加入组。
它基本上允许您以有序的方式组织权限。
权限组为一组权限定义标签(两者都是 在清单中声明的那些具有许可要素和那些 其他地方宣布)。它仅影响权限的分组方式 当呈现给用户时。权限组元素没有 指定属于该组的权限;它只是给了小组 一个名字。
<manifest . . . >
<permission-group android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="SomeGroup" />
<permission android:description="string resource"
android:icon="drawable resource"
android:label="string resource"
android:name="SomePermission"
android:permissionGroup="SomeGroup"
android:protectionLevel=["normal" | "dangerous" |
"signature" | "signatureOrSystem"] />
<uses-permission android:name="SomePermission" />
. . .
<application . . .>
<activity android:name="com.some.activity"
android:permission="SomePermission"
. . . >
. . .
</activity>
</application>
</manifest>