BLE 扫描在 Marshmallow 之前与设备位置的要求存在显着差异。从技术上讲,我看不出需要位置来扫描 BLE 设备的正当理由。为什么谷歌会这样做?
2424 次
1 回答
5
问:为什么谷歌会这样做?
答:因为 BLE 扫描通常用于通过蓝牙 LE 信标确定用户的位置。
我在 Google I/O 2015 的问答环节中与 Google 工程师讨论了这个问题,当时更改仍未发布。当时,我担心的是必须请求蓝牙 LE 管理员权限才能扫描位置信标。对我来说,这是一个问题,因为用户明白我的应用需要找到用户的位置,但不明白为什么它需要管理蓝牙。
工程师的回应是,在 Android M 中需要位置权限(和位置开启)才能让用户更清楚地了解这一点。不幸的是,从我的角度来看,由于历史原因,仍然需要蓝牙管理员权限。
您当然可以不同意 Google 的决定。但道理很清楚。如果应用程序可以扫描蓝牙设备并读取它们的 MAC 地址或其他标识符,那么如果应用程序开发人员知道其中一些扫描设备的位置,它也可以确定用户的位置。
为什么相同的位置许可逻辑不适用于扫描 WiFi 或蓝牙经典(两者都允许相同的事情)不太清楚。 也许只是 Google 正准备以他们的 Eddystone 标准加入蓝牙 LE 信标游戏。
更正: WiFi 扫描需要位置权限。
于 2016-10-22T00:48:28.060 回答