LocationManager最佳实现?

时间:2011-02-24 09:51:04

标签: android implementation locationmanager

是否建议使用differenct侦听器实现LocationManager.NETWORK_PROVIDER和LocationManager.GPS_PROVIDER,然后取消注册侦听器locationManager.removeUpdates(locationListener)?

因为GPS_PROVIDER需要花费大量时间来返回值,有时甚至不会回拨?

另外,我们可以有一个locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);在postDelayed的处理程序中,以避免在没有任何回调的情况下发生死锁?

任何人的帮助?

提前致谢!!!

BR, Ĵ

2 个答案:

答案 0 :(得分:1)

hm afaik locationManager.getLastKnownLocation立即返回,所以你不应该看到任何死锁?

如果您确实需要管理自己的LocationListeners,建议先注册一个Network-One和两个GPS-one。使用network-Listener接收第一个位置(粗略)。配置一个GPS位置监听器以接收所有GPS更新。一旦位置准确无误,切换到托管的GPS位置监听器,每隔x秒和x米差异仅接收更新。有关更多示例,请参阅http://developer.android.com/guide/topics/location/obtaining-user-location.html

如果要在地图上显示位置,请尝试MyLocationOverlay。它为你做了所有这些。

答案 1 :(得分:0)

理想情况下,这个问题不再有效,因为Google最终发布了更新版本的位置监听器,可以更有效地处理这个问题。 链接如下: http://developer.android.com/google/play-services/location.html