这是我的清单文件的一部分:
<permission-group
android:name="groupPerm"
android:description="@string/perm_get_desc"
android:icon="@drawable/ic_launcher"
android:label="@string/perm_label" />
<permission
android:name="bla.bla.GET_PHOTOS"
android:description="@string/perm_get_desc"
android:label="Access photos"
android:permissionGroup="groupPerm"
android:protectionLevel="dangerous" />
<permission
android:name="bla.bla.DELETE_PHOTOS"
android:description="@string/perm_delete_desc"
android:label="Delete photos"
android:permissionGroup="groupPerm"
android:protectionLevel="dangerous" />
这不会给我任何错误。但是,当我在应用程序管理器中找到此应用程序并转到权限时,两个自定义权限显示在组Default中,而不是上面刚刚声明的组。有谁看到我做错了什么?
答案 0 :(得分:1)
所以这是我自己的问题的解决方案。
<permission-group
android:name="bla.bla.groupPerm"
android:description="@string/perm_get_desc"
android:icon="@drawable/ic_launcher"
android:label="@string/perm_label" />
<permission
android:name="bla.bla.GET_PHOTOS"
android:description="@string/perm_get_desc"
android:label="Access photos"
android:permissionGroup="bla.bla.groupPerm"
android:protectionLevel="dangerous" />
<permission
android:name="bla.bla.DELETE_PHOTOS"
android:description="@string/perm_delete_desc"
android:label="Delete photos"
android:permissionGroup="bla.bla.groupPerm"
android:protectionLevel="dangerous" />
显然,权限组名称也应该包含包名称,而不仅仅是权限名称,如我之前的示例中所示:groupPerm。即,正确的名称应该是:bla.bla.groupPerm,其中bla.bla是命名空间。如果您不这样做,权限将显示在默认组下,并将列出:bla.bla.DELETE_PHOTOS和bla.bla.GET_PHOTOS。