【问题标题】:android LocationManager.requestLocationUpdates with minTime >0 not working as expectedandroid LocationManager.requestLocationUpdates with minTime >0 没有按预期工作
【发布时间】:2010-11-22 12:02:02
【问题描述】:

我设置了

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

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

我目前使用的是 android 1.5。

【问题讨论】:

    标签: android locationmanager


    【解决方案1】:

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

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

    您还可以通过您的位置监听器获得不同的位置,并在该分钟间隔内获得不同的准确度。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 2021-10-19
      • 2020-03-18
      • 2012-06-14
      • 2014-11-15
      相关资源
      最近更新 更多