Skip to main content

ProGlove Documentation

Required permissions

Allowing INSIGHT Mobile to use the features on your Android device reliably requires you to grant certain permissions to the application, such as access to the camera or Bluetooth services. Some permissions are granted automatically, for others INSIGHT Mobile will prompt a dialog and ask for your permission once a specific feature is initiated. See below for more information on the permissions that are required for each service.

Note

ProGlove INSIGHT Mobile does not gather, store, or process GPS location data. Only Bluetooth components are used.

Permissions granted by installing INSIGHT Mobile

After installation, the following permissions are automatically granted to INSIGHT Mobile:

  • Internet

    Network access is used to upload crash reports to Google Sentry and, if configured, to upload scan and device information to INSIGHT webportal.

    "android.permission.INTERNET"
  • Network

    Required to query changes in the network state.

    "android.permission.ACCESS_NETWORK_STATE"
  • Wi-Fi

    Required for observing the Wi-Fi status to properly handle connection and communication over the internet.

    "android.permission.ACCESS_WIFI_STATE"
  • Bluetooth

    Required to discover and pair with Bluetooth devices (up to API level 30).

    "android.permission.BLUETOOTH"
    "android.permission.BLUETOOTH_ADMIN"
  • Foreground service

    For devices using Android API level 28 and above, foreground-services must declare this permission.

    "android.permission.FOREGROUND_SERVICE"
  • Wake lock

    Required for waking up the screen as a result of the Workflow rules.

    "android.permission.WAKE_LOCK"
Runtime permissions

Permissions that are granted/denied at the app's run time are known as runtime permissions.

  • Bluetooth scan

    Required to be able to discover Bluetooth devices and mandatory for pairing (API level 31 and above).

    "android.permission.BLUETOOTH_SCAN"
  • Bluetooth connect

    Required to be able to connect to paired Bluetooth devices (API level 31 and above).

    "android.permission.BLUETOOTH_CONNECT"
  • Bluetooth advertise

    Required to be able to advertise and be discoverable to other Bluetooth devices (API level 31 and above).

    "android.permission.BLUETOOTH_ADVERTISE"
  • Access fine location

    For devices using Android API level 30 and below, to access Bluetooth services Android requires specific Location Permissions from INSIGHT Mobile (Android) .

    If you provision the device and connect it to INSIGHT webportal, this permission is necessary in order to get network data for analytics purposes (all API levels).

    "android.permission.ACCESS_FINE_LOCATION"

    Note

    As the access to device location presents a high privacy impact, Android requires you (directly through the app or by using MDM) to provide it explicitly. If not granted, INSIGHT Mobile prompts you to grant the necessary permissions before displaying the Scan2Pair barcode.

  • Camera

    For QR code provisioning, Android requires access to the device camera.

    "android.permission.CAMERA"
  • Activity recognition

    After you allow access to the camera, or once the device is provisioned, you will be asked to allow activity recognition which can be used for data analytics purposes.

    "android.permission.ACTIVITY_RECOGNITION"
  • Post notifications

    For devices using Android API level 32 and above in order to show system notifications.

    "android.permission.POST_NOTIFICATIONS"
Special permissions (system settings)

The following permissions are granted/denied through the device's system settings and allow specific features and device behavior.

  • Access background location

    For devices using Android API levels 29 and 30, you must also grant the ACCESS_BACKGROUND_LOCATION to be able to reconnect in cases when the INSIGHT Mobile app is not in foreground. If you are granting the permission directly through the app, for location access permission select All the time.

    If you provision the device and connect it to INSIGHT webportal, this permission is necessary in order to get network data for analytics purposes (all API levels).

    "android.permission.ACCESS_BACKGROUND_LOCATION"
  • System alert window

    Required to be able to start activities from the background (API level 29 and above).

    "android.permission.SYSTEM_ALERT_WINDOW"
  • Package usage stats

    Required for automatic change of configuration profiles within the INSIGHT Mobile app, based on user configurations, and monitoring of foreground activities.

    "android.permission.PACKAGE_USAGE_STATS"
Grant permissions using Android settings

To enable location permissions on certain Android devices, you will have to access the device's settings directly. See the steps below for reference.

  1. Go to the device's Settings, then find and select Apps & notifications.

    settings.png
    apps_and_notifs.png
  2. Open the Advanced option and access the Permission Manager.

    advanced.png
    permission_manager.png
  3. Scroll down to the Location option. Find the INSIGHT Mobile app on the list, and tap on Allow all the time.

    location.png
    allow_all_the_time.png
Grant all 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):

# All Android versions
pm grant de.proglove.connect android.permission.ACCESS_FINE_LOCATION
pm grant de.proglove.connect android.permission.CAMERA
appops set de.proglove.connect GET_USAGE_STATS allow

# For Android 10 and above
pm grant de.proglove.connect android.permission.ACTIVITY_RECOGNITION
pm grant de.proglove.connect android.permission.ACCESS_BACKGROUND_LOCATION
appops set de.proglove.connect SYSTEM_ALERT_WINDOW allow

# For Android 12 and above
pm grant de.proglove.connect android.permission.BLUETOOTH_SCAN
pm grant de.proglove.connect android.permission.BLUETOOTH_CONNECT
pm grant de.proglove.connect android.permission.BLUETOOTH_ADVERTISE

# For Android 13 and above
pm grant de.proglove.connect android.permission.POST_NOTIFICATIONS

If you want to try this out over adb, execute:

adb shell <<EOF
# All Android versions
pm grant de.proglove.connect android.permission.ACCESS_FINE_LOCATION
pm grant de.proglove.connect android.permission.CAMERA
appops set de.proglove.connect GET_USAGE_STATS allow

# For Android 10 and above
pm grant de.proglove.connect android.permission.ACTIVITY_RECOGNITION
pm grant de.proglove.connect android.permission.ACCESS_BACKGROUND_LOCATION
appops set de.proglove.connect SYSTEM_ALERT_WINDOW allow

# For Android 12 and above
pm grant de.proglove.connect android.permission.BLUETOOTH_SCAN
pm grant de.proglove.connect android.permission.BLUETOOTH_CONNECT
pm grant de.proglove.connect android.permission.BLUETOOTH_ADVERTISE

# For Android 13 and above
pm grant de.proglove.connect android.permission.POST_NOTIFICATIONS
EOF