Enabling Location Permissions on Android

Updated 2 months ago by Micah Daby

You may have noticed that some of our Android apps ask for Location Permissions when you use them. This happens because Location Permissions are required to scan for and find BLE (Bluetooth Low Energy) enabled Sphero robots nearby. We do not collect, store, or share any location information about our users.

Displaying the Location Permission popup is required by Google and we have implemented it in order to comply with their developer documentation. Below is a technical breakdown of why we have to ask for Location Permissions to scan for and find Sphero robots.

Technical Breakdown of Location Permission Requirements

In Android 6, Google introduced changes to how they handle permissions and protect users. As of Android 6, apps that use BLE to scan for Bluetooth hardware must declare either fine or course location permissions. See this official documentation from Google that covers the requirement.

The text below is of interest:

To access the hardware identifiers of nearby external devices via Bluetooth and Wi-Fi scans, your app must now have the ACCESS_FINE_LOCATION or ACCESS_COARSE_LOCATION permissions

In particular, note that we need the ACCESS_COARSE_LOCATION permission to use BluetoothLeScanner.startScan(), which is used to scan for available Sphero robots in range.

Google has added additional requirements in Android 10, including the need for the ACCESS_FINE_LOCATION permission when scanning for robots via BLE. See this documentation for additional details.

The text below is of interest:

If your app targets Android 10 or higher, it must have the ACCESS_FINE_LOCATION permission in order to use several methods within the Wi-Fi, Wi-Fi Aware, or Bluetooth APIs

ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions result in the end user being prompted to enable Location Permissions. As a result, we will need to continue displaying Location Permission prompts to the end user to allow them to scan for BLE robots.

For additional information about the data we collect and how we use it, please see our Privacy Policies located here.


How did we do?


Powered by HelpDocs (opens in a new tab)