我的应用程序中有两个实现LocationListener的不同类。其中一个仅用于获取用户当前位置,而另一个则在后台持续运行以保持数据的速度。
在我的测试设备上,这不会导致任何问题。然而,其他一些人测试说他们的设备"锁定" (当我试图获取位置时,我没有看到这种情况发生,所以我不确定它们的真正意义)。
这可能只是他们手机的GPS定位较弱,或者这可能是两个不同的线程试图通过GPS获取位置时出现的一些奇怪的硬件问题?如果是这样,解决这个问题的最佳方法是什么?感谢。
答案 0 :(得分:1)
我建议您使用属于Google Play服务的新fused provider。我不会设置两个LocationListeners
。由于您将不断跟踪用户的位置,因此您可以使用新的LocationClient
来检索设备所拥有的最新的最佳缓存位置,这可能是来自您正在检索的不断更新。融合的提供者还将确定哪一个是从该位置获取的最佳提供者,您无需担心该逻辑。