使用最新版本的Android Marshmallow,启动蓝牙低功耗扫描需要位置组的许可。 因此,需要以下权限之一:
ACCESS_COARSE_LOCATION
,ACCESS_FINE_LOCATION
为什么我们需要为GPS
扫描启用BLE
?
答案 0 :(得分:6)
BLE信标可用于获取位置信息,仅使用BLE广播UUID数据和互联网连接(例如iBeacon,AltBeacon等)。由于这是可能的并且数据可以通过扫描获取,因此位置许可是必须的。实际上,ACCESS_COARSE_LOCATION
是获得NetworkProvider
级权限所需的级别。通过使用ACCESS_FINE_LOCATION
,您获得NetworkProvider
以及GPS。
答案 1 :(得分:2)
蓝牙权限允许您在没有位置权限的情况下扫描前景中的信标,但对于后台扫描,您需要启用位置权限。 如果您要添加此权限
<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