当设备未连接到Internet时,网络提供程序有时不起作用

时间:2013-07-01 16:17:16

标签: android

我有一个应用程序,每隔几分钟就会获得一次位置更新。当我的手机连接到wifi / 3g时,这非常有用。但是,当我禁用Wi-Fi /数据连接时,它是非常间歇性的,即如果我移动到某些位置它工作得很好但有时它不会从蜂窝塔中选择信号。

这可能是因为信号错误或手机需要连接到3G / Wi-Fi以便网络提供商工作吗?

我不想求助于GPS,因为虽然它非常准确,但设备需要与卫星接触才能获得修复。此外,如果无法修复,是否会破坏应用程序?

2 个答案:

答案 0 :(得分:0)

网络提供商需要连接到网络才能工作。它的算法是检测它能看到的塔和它们的信号强度,并试图对一个位置进行三角测量。为了进一步提高准确性,它还使用Wifi SSID。如果它没有连接到那些来源,它就无法告诉你它在哪里。

答案 1 :(得分:0)

是网络提供商需要互联网连接。该设备可以从该区域的蜂窝信号和wifi热点获取一些信息,但无法检测到该位置。设备使用此信息来查询后端服务器,后端服务器然后可以查找其数据库并提供大致位置。为了最小化网络事务,它可以预取一些位置信息。如果设备移出此“预取”区域,则需要再次连接互联网。

这个问题已经在Stackoverflow中被问到了(这是我最初了解它的方式),但我找不到它。搜索它,它有很好的解释网络提供商的工作方式。