3

我设置

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 0f, this);

它有一个奇怪的行为,locationChanged 每秒被调用一次,而不是接近 1 分钟的任何时间。其次, locationChanged 每秒调用一次,持续大约 10 秒,然后完全停止,gps satalites 图标消失,然后仅在屏幕从显示超时返回时再次恢复。
怎么了?

我目前使用的是安卓 1.5。

4

1 回答 1

9

minTime (60000) 只是一个提示,并不能保证您的 locationlistener 会以精确的 1 分钟间隔启动。结合 minDistance=0,您可能会收到更多更新。

我会将 minDistance 增加到 1m 最小值,并实现补偿逻辑以在您的代码中实现 1 分钟间隔。您可以通过以下方式实现 LocationListener:如果位置更新太紧,它们将被忽略且不处理。

您还将通过您的位置侦听器以不同的精度获得不同的位置,所有这些都在该分钟间隔内。

您的位置侦听器可以选择最佳准确度,并通过维护状态 (lastLocationProcessedAt) 记住最后一个位置的处理时间。

于 2010-11-22T12:47:03.153 回答