网络位置提供商是不是需要互联网来确定位置?

Posted

技术标签:

【中文标题】网络位置提供商是不是需要互联网来确定位置?【英文标题】:Do network location provider need internet to determine location?网络位置提供商是否需要互联网来确定位置? 【发布时间】:2016-08-14 02:17:15 【问题描述】:

在使用网络提供商获取位置时,android 设备是否需要互联网?我看到很少有文章说它可以在没有互联网的情况下工作,也很少有人说它需要互联网。

我正在更多地研究 Android 如何在内部进行位置获取(而不是代码)。

文章说我们需要互联网:设备捕获小区 ID 和 wifi 热点并将其发送到谷歌服务器。谷歌服务器返回位置信息。这些文章说我们需要互联网来获取位置。

很少有文章说位置是使用蜂窝三角测量确定的,不需要互联网。

我已尝试进行测试以确认相同。但测试结果令人困惑,无法从中推断出任何结果。

设备配置:我已关闭互联网、wifi 扫描和 GPS。这意味着设备只有蜂窝信号。 应用程序每分钟捕获一次位置。

测试结果一:

我无法使用上述设备配置获取位置。我运行了这个测试超过 15 分钟。 然后我打开了 3G 数据,我正在获取位置。 发布此消息后,我再次关闭了 3G,仍然能够以不同的精度获取位置。

测试用例 2:(测试用例 1 后续)

发布测试用例 1,我一直在办公室位置获得位置。 然后我回家了,当我检查地下室(-1 楼)的位置时,我得到了第一次读数的准确度约为 900m 的位置,而没有第二次和进一步读数的位置。这种情况持续了 20 多分钟。 20 分钟后,我开始接收位置信息。

网络定位的具体工作原理。我正在更多地关注 Android 如何在内部进行位置获取而不是代码。

所以这是我的问题:

    它是否通过 cellid 和 wifi 热点并获取位置(使用 互联网)? 它是否进行细胞三角测量? 是否缓存数据 并使用加速度计和指南针确定位置 互联网?

(虽然 *** 中也有类似的问题。他们更多地关注代码而不是 Android 内部工作。因此发布此问题)

【问题讨论】:

您在测试时是否同时添加了这两个权限 ACCESS_COARSE_LOCATION 和 ACCESS_FINE_LOCATION 根据此评论,您需要 Internet 连接:***.com/questions/6694391/…(但网络提供商可能使用缓存?)。 【参考方案1】:

在为 Android 开发位置感知应用程序时,you can utilize GPS and Android's Network Location Provider to acquire the user location. Although GPS is most accurate, it only works outdoors, it quickly consumes battery power, and doesn't return the location as quickly as users want.

Android's Network Location Provider determines user location using cell tower and Wi-Fi signals,提供位置信息的方式在室内和室外均适用,响应速度更快,并且使用的电池电量更少。要在您的应用程序中获取用户位置,您可以同时使用 GPS 和 Network Location Provider,或者只使用其中一个。

If you are using both NETWORK_PROVIDER and GPS_PROVIDER, then you need to request only the permission ACCESS_FINE_LOCATION 

ACCESS_COARSE_LOCATION includes permission only for NETWORK_PROVIDER

根据您使用的权限可能会给出不同的结果

检查这些website 和strategies used by android for location

取决于 Anil vk 的 cmets

网络 –>(AGPS、CellID、WiFi MACID) :此提供商根据手机信号塔和 WiFi 接入点的可用性确定位置。通过网络查找检索结果。需要android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION.任一权限

答案是yes,它取决于手机信号塔的信号强度以获得准确的结果,您可以通过使用不同的方式查看此website,了解准确性和电池消耗问题。

【讨论】:

是的,我已经阅读了这些文章。但是他们都没有解释我们是否可以仅使用蜂窝数据(没有互联网)来获取位置。我正在寻找更多关于网络位置提供程序如何工作的信息。

以上是关于网络位置提供商是不是需要互联网来确定位置?的主要内容,如果未能解决你的问题,请参考以下文章

在Android中使用互联网并使用网络提供的位置?

仅从 GPRS 网络提供商 Android 获取位置

查找位置的最佳 node.js 模块? [关闭]

如何检测位置提供者? GPS 或网络提供商

iOS上是不是有用于频繁位置历史的API?

Android - 位置警报