Andres Santiago Andres Santiago - 1 month ago 17
Android Question

BluetoothLeScanner.startScan() requires new permissions in Marshmallow?

With the Android 6.0 release (API 23), I noticed that

BluetoothLeScanner.startScan()
requires new permissions;
ACCESS_COARSE_LOCATION
and/or
ACCESS_FINE_LOCATION
. Can anyone please explain the reasoning behind this. Why would a Bluetooth
ScanResult
require Location permissions?

More information on this change can be found here: Android 6.0 Changes: Access to hardware identifer

Thank you ahead of time!

Answer

It's likely due to new BTLE beacon technology such as Apple's iBeacon or Google's own Eddystone spec. These are tools used for microlocation services, and as a result can be used by the application to map out (quite precisely) where you are. Considering that, coarse and fine location permissions seem appropriate.

Here's some information from Google.

Here's some information from Apple.

Here's some information from AltBeacon.

Comments