为什么Google附近的连接需要ACCESS_COARSE_LOCATION和/或ACCESS_FINE_LOCATION权限?

问题描述

我非常努力地搜寻Google,但仍然没有解释“为什么?”需要这些权限才能在设备之间建立离线(没有互联网)连接。我有一个简单的应用程序,它仅需要p2p-star策略即可以主从模式在设备之间交换数据,并且很难向用户解释为什么我的应用程序需要它们。 “只是因为lib这么说。这就是原因。”

官方文件也没对我说什么。

”“该API的主要目标是提供一个简单,可靠且高性能的平台。 API在内部使用了蓝牙,BLE和Wifi热点的组合,充分利用了各自的优势,同时规避了各自的劣势。这有效地抽象了各种Android OS版本和硬件上蓝牙和Wifi的变化,使开发人员可以专注于对用户重要的功能。”

PS:据我所知,ACCESS_COARSE_LOCATION和ACCESS_FINE_LOCATION与GPS有关

PSS:如果在此处回答此问题, https://github.com/android/connectivity-samples/issues/204

解决方法

由于蓝牙和WiFi扫描可以显示用户的位置(近似值(发现“家庭电视”,因此您必须在家))或详细显示(设备A,B和C的位置最近出现在lat / Lng X,所以我们认为您可能在X)。

https://developer.android.com/guide/topics/connectivity/bluetooth-le#permissions