From android documentation, Its clear that Using "permission-group" we can create a permission group. Using "permission" element in android manifest file, we can define a permission. This permission can be added to permission-group.
if we name this permission-group as "com.example.permission-group" can we use it in another application using "uses-permission". If we can use, whether can we access all the permissions of this group.
If the above case is wrong, Then how can we make use of "permission-group"
App permissions help support user privacy by protecting access to the following: Restricted data, such as system state and a user's contact information. Restricted actions, such as connecting to a paired device and recording audio.
A permission group is a query that returns a set of users based on defined criteria. Permission groups enable you to express your security needs in very rich ways. They simplify security management on your site.
Android app permissions can give apps control of your phone and access to your camera, microphone, private messages, conversations, photos, and more. App permission requests pop up the first time an app needs access to sensitive hardware or data on your phone or tablet and are usually privacy-related.
The tag permission-group is just used to group one or more permissions under a particular category. From the developer's site 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.
For example, the messages related permissions, say android.permission.SEND_SMS, RECEIVE_SMS and all the permissions related to messages are grouped under android.permission-group.MESSAGES to have a common icon.
From AndroidManifest.xml of android source https://github.com/android/platform_frameworks_base/blob/master/core/res/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" />
Here, the android.permission-group.MESSAGES categorises these permissions under a common icon and name in permissions when your applications uses these permissions.
Give
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
in a sample application to see the result. Those two permissions will be grouped into a common category.
The costs money is because of the android:permissionFlags="costsMoney" in SEND_SMS permission. Hence permission-group is only used to categorise the permissions. It cannot be used as in to group one or more permissions.
The permission-group
tag allows you to create a group
of custom permissions.
Declares a name for a logical grouping of related permissions. Individual permission join the group through the permissionGroup attribute of the permission element.
It basically allows you to organize your permissions in an orderly fashion.
And permission-group defines a label for a set of permissions (both those declared in the manifest with permission elements and those declared elsewhere). It affects only how the permissions are grouped when presented to the user. The permission-group element does not specify which permissions belong to the group; it just gives the group a name.
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With