2017-01-18 3 views
4

С последней версией Android под названием Marshmallow, начиная с Для Bluetooth Low Energy для сканирования требуется разрешение из группы местоположений. В результате этого один из следующих разрешений требуется:Зачем нужно разрешение на размещение для сканирования Ble в android Marshmallow и далее

ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION

Любая причина, почему мы должны переключиться на GPS для BLE сканирования?

+0

Возможный дубликат [Место должно для Bluetooth Low Energy Scanning на Android 6.0] (https: // stackover flow.com/questions/33045581/location-needs-to-be-enabled-for-bluetooth-low-energy-scanning-on-android-6-0) –

+0

Этот вопрос имеет правильный ответ на эту тему .. https://stackoverflow.com/questions/33045581/location-needs-to-be-enabled-for-bluetooth-low-energy-scanning-on-android-6-0 –

ответ

6

BLE-маяки могут использоваться для получения информации о местоположении с использованием не более, чем данных UUID, передаваемых через BLE, и подключения к Интернету (например, iBeacon, AltBeacon и т. Д.). Так как это возможно, и данные могут быть получены с помощью сканирования, требуется место. В действительности, ACCESS_COARSE_LOCATION - необходимый уровень, чтобы получить уровень разрешения NetworkProvider. Используя ACCESS_FINE_LOCATION, вы получаете NetworkProvider, а также GPS.

2

Разрешения Bluetooth позволяют сканировать маяки на переднем плане без разрешений на размещение, но для фонового сканирования вам потребуется разрешение на размещение. если вы добавляете эти разрешения

<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 

тогда вы должны будете использовать это разрешение также

<uses-permission 
android:name="android.permission.ACCESS_COARSE_LOCATION”/> 
<uses-feature android:name="android.hardware.location.gps" /> 

можно найти в руководстве разработчика here

Смежные вопросы