Permission
Inherits: Enum
Defines the permissions which can be checked and requested.
Properties
-
ACCESS_MEDIA_LOCATION–Permission for accessing the device's media library.
-
ACCESS_NOTIFICATION_POLICY–Permission for accessing the device's notification policy.
-
ACTIVITY_RECOGNITION–Permission for accessing the activity recognition.
-
APP_TRACKING_TRANSPARENCY–Permission for accessing the device's tracking state.
-
ASSISTANT–Info:
-
AUDIO–Permission for accessing the device's audio files from external storage.
-
BACKGROUND_REFRESH–Permission for reading the current background refresh status.
-
BLUETOOTH–Permission for accessing the device's bluetooth adapter state.
-
BLUETOOTH_ADVERTISE–Permission for advertising Bluetooth devices
-
BLUETOOTH_CONNECT–Permission for connecting to Bluetooth devices.
-
BLUETOOTH_SCAN–Permission for scanning for Bluetooth devices.
-
CALENDAR_FULL_ACCESS–Permission for reading from and writing to the device's calendar.
-
CALENDAR_WRITE_ONLY–Permission for writing to the device's calendar.
-
CAMERA–Permission for accessing the device's camera.
-
CONTACTS–Permission for accessing the device's contacts.
-
CRITICAL_ALERTS–Permission for sending critical alerts.
-
IGNORE_BATTERY_OPTIMIZATIONS–Permission for accessing ignore battery optimizations.
-
LOCATION–Permission for accessing the device's location.
-
LOCATION_ALWAYS–Info:
-
LOCATION_WHEN_IN_USE–Permission for accessing the device's location when the app is
-
MANAGE_EXTERNAL_STORAGE–Permission for accessing the device's external storage.
-
MEDIA_LIBRARY–Permission for accessing the device's media library.
-
MICROPHONE–Permission for accessing the device's microphone.
-
NEARBY_WIFI_DEVICES–Permission for connecting to nearby devices via Wi-Fi.
-
NOTIFICATION–Permission for pushing notifications.
-
PHONE–Permission for accessing the device's phone state.
-
PHOTOS–Permission for accessing (read & write) the device's photos.
-
PHOTOS_ADD_ONLY–Permission for adding photos to the device's photo library (iOS only).
-
REMINDERS–Permission for accessing the device's reminders.
-
REQUEST_INSTALL_PACKAGES–Permission for requesting installing packages.
-
SCHEDULE_EXACT_ALARM–Permission for scheduling exact alarms.
-
SENSORS–Permission for accessing the device's sensors.
-
SENSORS_ALWAYS–Permission for accessing the device's sensors in background.
-
SMS–Permission for sending and reading SMS messages (Android only).
-
SPEECH–Permission for accessing speech recognition.
-
STORAGE–Permission for accessing external storage.
-
SYSTEM_ALERT_WINDOW–Permission for creating system alert window.
-
UNKNOWN–The unknown only used for return type, never requested.
-
VIDEOS–Permission for accessing the device's video files from external storage.
Properties#
ACCESS_MEDIA_LOCATION = 'accessMediaLocation'
class-attribute
instance-attribute
#
Permission for accessing the device's media library.
Allows an application to access any geographic locations persisted in the user's shared collection.
Note
Only supported on Android 10+ (API 29+) only.
ACCESS_NOTIFICATION_POLICY = 'accessNotificationPolicy'
class-attribute
instance-attribute
#
Permission for accessing the device's notification policy.
Allows the user to access the notification policy of the phone. Example: Allows app to turn on and off do-not-disturb.
Note
Only supported on Android Marshmallow+ (API 23+) only.
ACTIVITY_RECOGNITION = 'activityRecognition'
class-attribute
instance-attribute
#
Permission for accessing the activity recognition.
Note
Only supported on Android 10+ (API 29+) only.
APP_TRACKING_TRANSPARENCY = 'appTrackingTransparency'
class-attribute
instance-attribute
#
Permission for accessing the device's tracking state. Allows user to accept that your app collects data about end users and shares it with other companies for purposes of tracking across apps and websites.
Note
Only supported on iOS only.
ASSISTANT = 'assistant'
class-attribute
instance-attribute
#
Info
- Android: Nothing
- iOS: SiriKit
AUDIO = 'audio'
class-attribute
instance-attribute
#
Permission for accessing the device's audio files from external storage.
Note
Only supported on Android 13+ (API 33+) only.
BACKGROUND_REFRESH = 'backgroundRefresh'
class-attribute
instance-attribute
#
Permission for reading the current background refresh status.
Note
Only supported on iOS only.
BLUETOOTH = 'bluetooth'
class-attribute
instance-attribute
#
Permission for accessing the device's bluetooth adapter state.
Depending on the platform and version, the requirements are slightly different:
Info
- Android: always allowed.
- iOS:
- 13 and above: The authorization state of Core Bluetooth manager.
- below 13: always allowed.
BLUETOOTH_ADVERTISE = 'bluetoothAdvertise'
class-attribute
instance-attribute
#
Permission for advertising Bluetooth devices Allows the user to make this device discoverable to other Bluetooth devices.
Note
Only supported on Android 12+ (API 31+) only.
BLUETOOTH_CONNECT = 'bluetoothConnect'
class-attribute
instance-attribute
#
Permission for connecting to Bluetooth devices. Allows the user to connect with already paired Bluetooth devices.
Note
Only supported on Android 12+ (API 31+) only.
BLUETOOTH_SCAN = 'bluetoothScan'
class-attribute
instance-attribute
#
Permission for scanning for Bluetooth devices.
Note
Only supported on Android 12+ (API 31+) only.
CALENDAR_FULL_ACCESS = 'calendarFullAccess'
class-attribute
instance-attribute
#
Permission for reading from and writing to the device's calendar.
CALENDAR_WRITE_ONLY = 'calendarWriteOnly'
class-attribute
instance-attribute
#
Permission for writing to the device's calendar.
On iOS 16 and lower, this permission is identical to
CALENDAR_FULL_ACCESS.
CAMERA = 'camera'
class-attribute
instance-attribute
#
Permission for accessing the device's camera.
Info
- Android: Camera
- iOS: Photos (Camera Roll and Camera)
CONTACTS = 'contacts'
class-attribute
instance-attribute
#
Permission for accessing the device's contacts.
Info
- Android: Contacts
- iOS: AddressBook
CRITICAL_ALERTS = 'criticalAlerts'
class-attribute
instance-attribute
#
Permission for sending critical alerts. Allow for sending notifications that override the ringer.
Note
Only supported on iOS only.
IGNORE_BATTERY_OPTIMIZATIONS = 'ignoreBatteryOptimizations'
class-attribute
instance-attribute
#
Permission for accessing ignore battery optimizations.
Note
Only supported on Android only.
LOCATION = 'location'
class-attribute
instance-attribute
#
Permission for accessing the device's location.
Info
- Android: Fine and Coarse Location
- iOS: CoreLocation (Always and WhenInUse)
LOCATION_ALWAYS = 'locationAlways'
class-attribute
instance-attribute
#
Info
iOS: CoreLocation (Always)
LOCATION_WHEN_IN_USE = 'locationWhenInUse'
class-attribute
instance-attribute
#
Permission for accessing the device's location when the app is running in the foreground.
Info
- Android: Fine and Coarse Location
- iOS: CoreLocation - WhenInUse
MANAGE_EXTERNAL_STORAGE = 'manageExternalStorage'
class-attribute
instance-attribute
#
Permission for accessing the device's external storage. Allows an application a broad access to external storage in scoped storage.
You should request this permission only when your app cannot effectively make use of the more privacy-friendly APIs. For more information: https://developer.android.com/training/data-storage/manage-all-files
Info
When the privacy-friendly APIs (i.e. Storage Access Framework or theMediaStore APIs) is all your app needs, the [PermissionGroup.storage] are the only permissions you need to request.
If the usage of this permission is needed, you have to fill out the Permission Declaration Form upon submitting your app to the Google Play Store. More details: https://support.google.com/googleplay/android-developer/answer/9214102#zippy=
Note
Only supported on Android 11+ (API 30+) only.
MEDIA_LIBRARY = 'mediaLibrary'
class-attribute
instance-attribute
#
Permission for accessing the device's media library.
Note
Only supported on iOS 9.3+ only
MICROPHONE = 'microphone'
class-attribute
instance-attribute
#
Permission for accessing the device's microphone.
NEARBY_WIFI_DEVICES = 'nearbyWifiDevices'
class-attribute
instance-attribute
#
Permission for connecting to nearby devices via Wi-Fi.
Note
Only supported on Android 13+ (API 33+) only.
NOTIFICATION = 'notification'
class-attribute
instance-attribute
#
Permission for pushing notifications.
PHONE = 'phone'
class-attribute
instance-attribute
#
Permission for accessing the device's phone state.
Note
Only supported on Android only.
PHOTOS = 'photos'
class-attribute
instance-attribute
#
Permission for accessing (read & write) the device's photos.
If you only want to add photos, you can use
the PHOTOS_ADD_ONLY permission instead (iOS only).
PHOTOS_ADD_ONLY = 'photosAddOnly'
class-attribute
instance-attribute
#
Permission for adding photos to the device's photo library (iOS only).
If you want to read them as well, use the Permission.PHOTOS permission instead.
Info
iOS: Photos (14+ read & write access level)
REMINDERS = 'reminders'
class-attribute
instance-attribute
#
Permission for accessing the device's reminders.
Note
Only supported on iOS only.
REQUEST_INSTALL_PACKAGES = 'requestInstallPackages'
class-attribute
instance-attribute
#
Permission for requesting installing packages.
Note
Only supported on Android Marshmallow+ (API 23+) only.
SCHEDULE_EXACT_ALARM = 'scheduleExactAlarm'
class-attribute
instance-attribute
#
Permission for scheduling exact alarms.
Note
Only supported on Android 12+ (API 31+) only.
SENSORS = 'sensors'
class-attribute
instance-attribute
#
Permission for accessing the device's sensors.
Info
- Android: Body Sensors
- iOS: CoreMotion
SENSORS_ALWAYS = 'sensorsAlways'
class-attribute
instance-attribute
#
Permission for accessing the device's sensors in background.
Note
Only supported on Android 13+ (API 33+) only.
SMS = 'sms'
class-attribute
instance-attribute
#
Permission for sending and reading SMS messages (Android only).
SPEECH = 'speech'
class-attribute
instance-attribute
#
Permission for accessing speech recognition.
Info
- Android: Requests access to microphone
(identical to requesting
MICROPHONE). - iOS: Requests speech access (different from requesting
MICROPHONE).
STORAGE = 'storage'
class-attribute
instance-attribute
#
Permission for accessing external storage.
Depending on the platform and version, the requirements are slightly different:
Info
-
Android:
-
On Android 13 (API 33) and above, this permission is deprecated and always returns
PermissionStatus.denied. Instead usePermission.PHOTOS,Permission.VIDEO,Permission.AUDIOorPermission.MANAGE_EXTERNAL_STORAGE. For more information see this. -
Below Android 13 (API 33), the
READ_EXTERNAL_STORAGEandWRITE_EXTERNAL_STORAGEpermissions are requested (depending on the definitions in the AndroidManifest.xml) file. - iOS: Access to folders like
DocumentsorDownloads. Implicitly granted.
-
SYSTEM_ALERT_WINDOW = 'systemAlertWindow'
class-attribute
instance-attribute
#
Permission for creating system alert window. Allows an app to create windows shown on top of all other apps.
Note
Only supported on Android only.
UNKNOWN = 'unknown'
class-attribute
instance-attribute
#
The unknown only used for return type, never requested.
VIDEOS = 'videos'
class-attribute
instance-attribute
#
Permission for accessing the device's video files from external storage.
Note
Only supported on Android 13+ (API 33+) only.