我用 C# 为 Windows Phone 和 Java 的 Android 编写应用程序。我在每个市场上都有类似的应用程序,它们都使用 GPS 来跟踪手机移动时的移动。当手机外出移动时,互联网连接当然会进出。
我的两个版本的应用程序都将 GPS 读数传输到我的云服务器 REST 服务,并将它们记录到数据库中。如果该应用程序没有互联网连接,它会将 GPS 位置保存在手机上,然后,当互联网连接恢复时,它会将其所拥有的信息发送到云服务器。此过程在 Windows 手机中运行良好。
但是对于 Android,当没有互联网连接时,我的 LocationListener 中的 onLocationChanged 事件不会随着手机的移动而被触发。当没有互联网信号时,它就像 GPS 关闭一样工作。这对我来说毫无意义。它应该以这种方式工作吗?为什么 GPS 需要互联网连接才能工作?谢谢,加里
编辑:我们从进一步的测试中发现,互联网可用性与 onLocationChanged 事件的失败无关。大约 20 分钟到几个小时后,该事件在我们的服务中停止触发,我们找不到任何原因。