BluetoothLeScanner.startScan() 需要 Marshmallow 中的新权限?
BluetoothLeScanner.startScan() requires new permissions in Marshmallow?
在 Android 6.0 版本 (API 23) 中,我注意到 BluetoothLeScanner.startScan()
需要新的权限; ACCESS_COARSE_LOCATION
and/or ACCESS_FINE_LOCATION
。谁能解释一下这背后的原因。为什么 Bluetooth ScanResult
需要 Location 权限?
可在此处找到有关此更改的更多信息:Android 6.0 Changes: Access to hardware identifer
提前谢谢!
这可能是由于新的 BTLE 信标技术,例如 Apple 的 iBeacon 或 Google 自己的 Eddystone 规范。这些是用于微定位服务的工具,因此应用程序可以使用它们来(非常精确地)绘制出您所在的位置。考虑到这一点,粗略和精细的位置权限似乎是合适的。
Here's some information from Google.
这似乎是 Google 迈出的绝妙一步。然而,这是结合 Google 推出的信标技术完成的。我找不到任何技术原因。这类似于 Wifi 扫描,后者也需要设备的位置。 Google 似乎正在构建其信标和 wifi 数据库,以便在其产品范围内使用它。这似乎是在捕获任何利用 Beacon Tech 的应用程序的全部数据。
在 Android 6.0 版本 (API 23) 中,我注意到 BluetoothLeScanner.startScan()
需要新的权限; ACCESS_COARSE_LOCATION
and/or ACCESS_FINE_LOCATION
。谁能解释一下这背后的原因。为什么 Bluetooth ScanResult
需要 Location 权限?
可在此处找到有关此更改的更多信息:Android 6.0 Changes: Access to hardware identifer
提前谢谢!
这可能是由于新的 BTLE 信标技术,例如 Apple 的 iBeacon 或 Google 自己的 Eddystone 规范。这些是用于微定位服务的工具,因此应用程序可以使用它们来(非常精确地)绘制出您所在的位置。考虑到这一点,粗略和精细的位置权限似乎是合适的。
Here's some information from Google.
这似乎是 Google 迈出的绝妙一步。然而,这是结合 Google 推出的信标技术完成的。我找不到任何技术原因。这类似于 Wifi 扫描,后者也需要设备的位置。 Google 似乎正在构建其信标和 wifi 数据库,以便在其产品范围内使用它。这似乎是在捕获任何利用 Beacon Tech 的应用程序的全部数据。