Ensemble MDM can set the grant state of permissions for applications. This feature works on apps from the Play store or private APKs.
TABLE OF CONTENTS
Introduction to Android Permissions
Standardize your knowledge base by creating templates such as a simple FAQ-style article, step-by-step guides, How-To, Release notes, and a lot more. Your team can simply choose from the predefined templates and start creating their articles from there - saving them time.
Permission Group Breakdown for Developers
Android devices use permission groups to group related permissions with related functionalities so the user can grant permissions on a group basis. The table below breaks down the groups and what versions they appear in from Android 8.0 and higher.
Permission Group | Added to Android | Description | Notes |
---|
Body Sensors | <8.0 | Gathers biometric data like heart rate. |
|
Calendar | <8.0 | Managing calendars |
|
Call Log | 9.0 | Accessing call logs | These were part of the Phone permission before Android 9.0. |
Camera | <8.0 | Taking photos and recording videos |
|
Contacts | <8.0 | Managing contacts |
|
Files / Storage | <8.0 | Accessing files | Renamed to "Files" or "Files and Media" in Android 11+.
For Android 13+, must use other permissions to access photos, videos, music and audio files. |
Location | <8.0 | Current device location |
|
Microphone | <8.0 | Audio recording |
|
Music and Audio | 13.0 | Reading music and audio files from storage |
|
Nearby Devices | 12.0 | Required to be able to discover and pair nearby Bluetooth devices |
|
Notifications | 13.0 | Allow app to send notifications |
|
Phone | <8.0 | Dialing and managing phone calls |
|
Photos and Videos | 13.0 | Reading image and video files from storage |
|
Physical Activity | 10 | Allows an application to access your physical activity |
|
SMS | <8.0 | Sending and viewing messages |
|
Each permission group corresponds with a one or more permissions that can be added in an application manifest file.
Body Sensors
Permission | Notes |
android.permission.BODY_SENSORS |
|
android.permission.BODY_SENSORS_BACKGROUND |
|
Calendar
Permission | Notes |
android.permission.READ_CALENDAR |
|
android.permission.WRITE_CALENDAR |
|
Call Log
Permission | Notes |
android.permission.READ_CALL_LOG | Moved from Phone permission group in Android 9.0 |
android.permission.WRITE_CALL_LOG | Moved from Phone permission group in Android 9.0 |
android.permission.PROCESS_OUTGOING_CALLS | Moved from Phone permission group in Android 9.0 |
Camera
Permission | Notes |
android.permission.CAMERA |
|
Contacts
Permission | Notes |
android.permission.GET_ACCOUNTS |
|
android.permission.READ_CONTACTS |
|
android.permission.WRITE_CONTACTS |
|
Files / Storage
Permission | Notes |
android.permission.READ_EXTERNAL_STORAGE |
|
android.permission.WRITE_EXTERNAL_STORAGE |
|
android.permission.MANAGE_EXTERNAL_STORAGE |
|
android.permission.ACCESS_MEDIA_LOCATION | Moved to the Photo and Video group in Android 13 |
Location
Permission | Notes |
android.permission.ACCESS_BACKGROUND_LOCATION | Added in Android 10 |
android.permission.ACCESS_COARSE_LOCATION |
|
android.permission.ACCESS_FINE_LOCATION |
|
Microphone
Permission | Notes |
android.permission.RECORD_AUDIO |
|
Music and Audio
Permission | Notes |
android.permission.READ_MEDIA_AUDIO |
|
Nearby Devices
Permission | Notes |
android.permission.BLUETOOTH_ADVERTISE |
|
android.permission.BLUETOOTH_CONNECT |
|
android.permission.BLUETOOTH_SCAN |
|
android.permission.NEARBY_WIFI_DEVICES |
|
android.permission.UWB_RANGING |
|
Notifications
Permission | Notes |
android.permission.POST_NOTIFICATIONS |
|
Phone
Permission | Notes |
android.permission.ACCEPT_HANDOVER |
|
com.android.voicemail.permission.ADD_VOICEMAIL |
|
android.permission.ANSWER_PHONE_CALLS |
|
android.permission.CALL_PHONE |
|
android.permission.READ_PHONE_NUMBERS |
|
android.permission.READ_PHONE_STATE |
|
android.permission.USE_SIP |
|
android.permission.READ_CALL_LOG | Moved to Call Log permission group in Android 9 |
android.permission.WRITE_CALL_LOG | Moved to Call Log permission group in Android 9 |
Photos and Videos
Permission | Notes |
android.permission.READ_MEDIA_IMAGE |
|
android.permission.READ_MEDIA_VIDEO | Moved from the File / Storage group in Android 13 |
Physical Activity
Permission | Notes |
android.permission.ACTIVITY_RECOGNITION |
|
SMS
Permission | Notes |
android.permission.READ_SMS |
|
android.permission.RECEIVE_MMS |
|
android.permission.RECEIVE_SMS |
|
android.permission.RECEIVE_WAP_PUSH |
|
android.permission.SEND_SMS |
|
Managing Permissions with Ensemble
Introduction
The permission grant state of any application installed via Ensemble can be controlled via a project. Permissions can be set to one of the three following states:
- Default: the end user has full control over setting permissions
- Grant: the permission group is granted and the end user cannot change the permissions
- Deny: the permission group is denied and the end user cannot change the permissions
Certain permissions provide other options like "Allow only while using the app" or "Ask every time". Setting the permissions state to grant will always choose the "Allow all the time" option.
Default permission grant state values can be applied from the company level Private Content or Google Play content pages. This will use those grant states when this app is added to a project. The permissions can be customized on the project once it has been added. Changing the default values will not affect existing project values.
Managing Permissions for Private Apps
Navigate to the Content | Private Content page.
(Optional) if the private APK has not already been uploaded, upload that APK first.
Find the private APK you wish to set the default permission grant state to and click Options | Manage Application Permissions.
(Optional) change the target version to ensure the right manifest permission values are in the right permission group since this can change depending on the device OS. See the break down above for more details.
Select the grant state values for each permission as needed.
Navigate to the Project | Content page you wish to add the private APK to
Add the APK to the project. Select Private Application as the file type. Next.
Select the APK from the table. Next.
Choose Apply settings individually. Next.
(Optional) if you wish to change the permissions to be different than the default value
Click Manage permissions
The default values for this application will load. Customize them. Apply.
Finish
Managing Permissions for Google Play Content
Navigate to the Content | Google Play Content page.
(Optional) if the application has not already been added from the Play store, do that first.
Find the application in the Enterprise Applications table that you wish to set the default permission grant state to and click Options | Manage Application Permissions.
Select the grant state values for each permission as needed.
Navigate to the Project | Content page you wish to add the private APK to
Add the application to the project. Select Application as the file type. Next.
Select the application Choose Apply settings individually. Next.
from the table. Next.
(Optional) if you wish to change the permissions to be different than the default value
Click Manage permissions
The default values for this application will load. Customize them. Apply.
Finish