Permission Overview
The library requires at least the following permissions to access MOVE SDK services.
<!-- ====================================================== -->
<!-- MOVE SDK — AndroidManifest.xml Permission Reference -->
<!-- Comment out permissions for services you don't use. -->
<!-- ====================================================== -->
<!-- Required for reliable background operation — strongly recommended for all configurations -->
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<!-- Required for all services -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
<!-- Required for: Driving, Cycling, Walking, DFD, DBE, POI, Public Transport, AID, Assistance Call -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Driving, Cycling, Walking -->
<!-- Since SDK 2.6: optional if backgroundLocationPermissionMandatory = false in MoveOptions -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<!-- Required for: Cycling, Walking. Strongly recommended for: Driving -->
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<!-- Required for Android 13+ (API 33+) -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<!-- Required for: Distraction-Free Driving (DFD) -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- Required for: Distraction-Free Driving (DFD) -->
<!-- Since SDK 2.6.9: optional if overlayPermissionMandatory = false in MoveOptions -->
<!-- Attention: if optional, device must have a gyroscope -->
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!-- Required for: Assistance Call (Android 11 and lower) -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Required for: Driving (Device Discovery), Assistance Call (Android 12+) -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<!-- Required for: BLE scanning (Android 12+) -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<!-- Required for: Bluetooth scanning (Android 11 and lower) -->
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<!-- Required for: Assistance Call (background internet check) -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<!-- Required for: Health Connect (Step Counter) -->
<uses-permission android:name="android.permission.health.READ_STEPS" />
<uses-permission android:name="android.permission.health.READ_HEALTH_DATA_IN_BACKGROUND" />Depending on the used services, different permissions are required. The following table gives an overview what's required:
Battery Optimization
Strongly recommended
Permission an application must hold in order to use Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
GooglePlayLocationAccuracy [1]
GooglePlayLocationAccuracy [1]
GooglePlayLocationAccuracy [1]
Grant the Background Location permission is strongly recommended. Similarly for the optional Activity Recognition permission (Driving) - make sure to request this from the user, otherwise it will degrade the quality of the service.
More Information regarding the Android system permissions can be found here: https://developer.android.com/reference/android/Manifest.permission
The required permissions must be granted before the MOVE SDK service can be used. In case of missing permissions this will be presented by MoveServiceFailure and/or by MoveServiceWarning.
For more information about "dangerous permissions" visit the official developer page.
In fact the MOVE SDK is not aware of permission changes, the developer can tell the MOVE SDK that the error is resolved.
Last updated