【发布时间】:2014-02-07 10:59:59
【问题描述】:
GPS 和我的 Android 应用程序之间的通信似乎存在问题。 大约十分之一的时间(启动应用程序后) GPS 不是由 LocationManager.requestUpdates() 触发的(没有显示 GPS 图标等)。 我已经内置了一个计时器,它每 15 秒检查一次 GPS 状态,当 GPS 不工作时,它会从 LocationManager 中删除更新并再次请求更新(通过 GpsStatus.Listener 检查 GPS 状态)。有时这会唤醒 GPS 并解决问题,但大多数时候这不起作用。但是,关闭设备上的 GPS 并将其重新打开 [有时] 也可以解决此问题。 该应用程序有许多使用不同设备的用户遇到此问题。我有一个前台服务一直在运行,它在 onStartCommand() 中请求这些位置更新,并在 onDestroy() 中删除更新。我尝试了很多不同的解决方案,但它们似乎都不起作用(令人沮丧)。我尝试了融合位置提供程序,但这并不总是提供最准确的位置/没有方位/速度等。有没有其他方法可以让 GPS 唤醒它,或者以前有人遇到过这个问题吗?另外,我注意到每当发生这种情况时,我关闭应用程序,将其从内存中删除,然后重新启动,问题也得到了解决。看起来应用程序中的某些东西阻止了它与 GPS 通信(不知道这是否可能)。
我很好奇是否有人对可能出现的问题有任何建议。 提前致谢,
【问题讨论】: