使用网络提供商进行位置提取时,Android设备是否需要互联网?我看到很少有文章说它没有互联网,很少说它需要互联网。
我正在研究Android内部如何进行位置提取(而不是代码)。
文章说我们需要互联网:设备捕获小区ID和wifi热点并将其发送到谷歌服务器。谷歌服务器返回位置信息。这些文章说我们需要互联网来获取位置。
很少有文章说使用细胞三角测量确定位置,不需要互联网。
我试过做测试来确认一样。但测试结果令人困惑,无法从中推断出任何东西。
设备配置:我已关闭互联网,wifi扫描和GPS。这意味着设备只有蜂窝信号。 应用程序每分钟捕获一次位置。
测试结果1:
测试用例2 :(续测试用例1)
网络位置究竟如何运作。我更关注Android内部如何获取位置而不是代码。
所以这是我的问题:
- 它是否通过cellid和wifi热点并获取位置(使用 互联网)?
- 是否进行细胞三角测量?
- 是否缓存数据 并使用加速度计和指南针确定位置 互联网?
醇>
(虽然stackoverflow中有类似的问题。他们更多的是代码而不是Android内部工作。因此发布此问题)
答案 0 :(得分:2)
为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
取决于您使用的权限可能会给出不同的结果
检查这些website和strategies 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的准确性和电池耗尽问题。