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

时间:2016-04-21 05:07:06

标签: android android-location locationmanager

使用网络提供商进行位置提取时,Android设备是否需要互联网?我看到很少有文章说它没有互联网,很少说它需要互联网。

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

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

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

我试过做测试来确认一样。但测试结果令人困惑,无法从中推断出任何东西。

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

测试结果1:

  • 我无法使用上述设备配置获取位置。我跑了这个测试15分钟。
  • 然后我打开3G数据,我就到了这个位置。
  • 发布此消息后,我再次关闭了3G,我仍然可以获得不同精确度的位置。

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

  • 发布测试用例1,我在办公地点始终保持位置。
  • 然后我回家了,当我检查地下室(-1楼)的位置时,我有一个位置,第一次阅读精度为~900m,没有第二次和进一步读数的位置。这持续了20多分钟。
  • 20分钟后,我开始接收位置。

网络位置究竟如何运作。我更关注Android内部如何获取位置而不是代码。

所以这是我的问题:

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

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

1 个答案:

答案 0 :(得分:2)

your tests depicts this image

为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和网络位置提供程序,也可以只使用一个。

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

取决于您使用的权限可能会给出不同的结果

检查这些websitestrategies used by android for location

取决于Anil vk的评论

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

之一

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