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 GroupAdded to AndroidDescriptionNotes
Body Sensors<8.0Gathers biometric data like heart rate.
Calendar<8.0Managing calendars
Call Log9.0Accessing call logsThese were part of the Phone permission before Android 9.0.
Camera<8.0Taking photos and recording videos
Contacts<8.0Managing contacts
Files / Storage<8.0Accessing filesRenamed 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.0Current device location
Microphone<8.0Audio recording
Music and Audio13.0Reading music and audio files from storage
Nearby Devices12.0Required to be able to discover and pair nearby Bluetooth devices
Notifications13.0Allow app to send notifications
Phone<8.0Dialing and managing phone calls
Photos and Videos13.0Reading image and video files from storage
Physical Activity10Allows an application to access your physical activity
SMS<8.0Sending and viewing messages


Each permission group corresponds with a one or more permissions that can be added in an application manifest file.


Body Sensors

PermissionNotes
android.permission.BODY_SENSORS
android.permission.BODY_SENSORS_BACKGROUND


Calendar

PermissionNotes
android.permission.READ_CALENDAR
android.permission.WRITE_CALENDAR


Call Log

PermissionNotes
android.permission.READ_CALL_LOGMoved from Phone permission group in Android 9.0
android.permission.WRITE_CALL_LOGMoved from Phone permission group in Android 9.0
android.permission.PROCESS_OUTGOING_CALLSMoved from Phone permission group in Android 9.0


Camera

PermissionNotes
android.permission.CAMERA


Contacts

PermissionNotes
android.permission.GET_ACCOUNTS
android.permission.READ_CONTACTS
android.permission.WRITE_CONTACTS


Files / Storage

PermissionNotes
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.MANAGE_EXTERNAL_STORAGE
android.permission.ACCESS_MEDIA_LOCATIONMoved to the Photo and Video group in Android 13


Location

PermissionNotes
android.permission.ACCESS_BACKGROUND_LOCATIONAdded in Android 10
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION


Microphone

PermissionNotes
android.permission.RECORD_AUDIO


Music and Audio

PermissionNotes
android.permission.READ_MEDIA_AUDIO


Nearby Devices

PermissionNotes
android.permission.BLUETOOTH_ADVERTISE
android.permission.BLUETOOTH_CONNECT
android.permission.BLUETOOTH_SCAN
android.permission.NEARBY_WIFI_DEVICES
android.permission.UWB_RANGING


Notifications

PermissionNotes
android.permission.POST_NOTIFICATIONS


Phone

PermissionNotes
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_LOGMoved to Call Log permission group in Android 9
android.permission.WRITE_CALL_LOGMoved to Call Log permission group in Android 9


Photos and Videos

PermissionNotes
android.permission.READ_MEDIA_IMAGE
android.permission.READ_MEDIA_VIDEOMoved from the File / Storage group in Android 13


Physical Activity

PermissionNotes
android.permission.ACTIVITY_RECOGNITION


SMS

PermissionNotes
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:

  1. Default: the end user has full control over setting permissions
  2. Grant: the permission group is granted and the end user cannot change the permissions
  3. 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

  1. Navigate to the Content | Private Content page.

  2. (Optional) if the private APK has not already been uploaded, upload that APK first.

  3. Find the private APK you wish to set the default permission grant state to and click Options | Manage Application Permissions.

  4. (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.

  5. Select the grant state values for each permission as needed.

  6. Navigate to the Project | Content page you wish to add the private APK to

  7. Add the APK to the project. Select Private Application as the file type. Next.

  8. Select the APK from the table. Next.

  9. Choose Apply settings individually. Next.

  10. (Optional) if you wish to change the permissions to be different than the default value

    1. Click Manage permissions

    2. The default values for this application will load. Customize them. Apply.

  11. Finish


Managing Permissions for Google Play Content

  1. Navigate to the Content | Google Play Content page.

  2. (Optional) if the application has not already been added from the Play store, do that first.

  3. 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.

  4. Select the grant state values for each permission as needed.

  5. Navigate to the Project | Content page you wish to add the private APK to

  6. Add the application to the project. Select Application as the file type. Next.

  7. Select the application Choose Apply settings individually. Next.

     from the table. Next.

  8. (Optional) if you wish to change the permissions to be different than the default value

    1. Click Manage permissions

    2. The default values for this application will load. Customize them. Apply.

  9. Finish