Required permissions
To access Bluetooth Services, Android requires specific Location Permissions from Insight Mobile - i.e. ACCESS_FINE_LOCATION
.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
As access to device location presents a high privacy impact, Android requires you (or MDM) to provide it explicitly.
Note
Insight Mobile does not gather, store, or process any location data. Only Bluetooth components are used.
If not already granted, the permission is requested when Insight Mobile starts and Scan2Pair is selected.
How to grant permissions using MDM or a script
To grant the necessary permissions during the installation using a script, execute the following shell commands on Android (with management permissions):
pm grant de.proglove.connect android.permission.ACCESS_FINE_LOCATION
If you want to try this out over adb, execute:
adb shell <<EOF pm grant de.proglove.connect android.permission.ACCESS_FINE_LOCATION EOF
Other permissions
After installation, the following permissions are automatically granted to the Insight Mobile:
Network State
Permission to query changes in the network state:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Bluetooth Permissions
Permissions to discover and pair BLE devices:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
Foreground-services
Starting with API 28, foreground-services must declare this permission:
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
INTERNET Permission
Network access is used to upload crash reports to Google Firebase and, if configured, to upload scan and device information to Insight Webportal:
<uses-permission android:name="android.permission.INTERNET" />