如何定期获取当前位置的经纬度。

时间:2011-08-29 14:38:39

标签: android service

在我的应用程序中使用当前位置lat,long。每5分钟定期更新一次。并在后台运行,意味着当我启动我的应用程序弹出来并要求“你想使用当前位置”如果我按“是”然后服务将在应用程序的背景上运行并使用当前位置lat long,意味着每隔5分钟刷新一次,怎么做呢。如何提供这样的服务。

请详细解释,因为我是android的新手。 每一个帮助将不胜感激 提前谢谢

1 个答案:

答案 0 :(得分:2)

以用户友好且节能的方式处理位置更新并非易事。

我强烈建议您阅读Reto Meier的A Deep Dive Into Location(以及second part)。

<强>更新

有一种简单(和错误)的方法:将AlarmManager设置为每5分钟唤醒一次请求该位置的服务。

这有几个原因是错误的。要做到这一点,首先回答这个问题:

  1. 您是否每5分钟需要更新一次位置?
  2. 即使您的应用未激活?
  3. 即使手机处于睡眠模式?
  4. 即使手机没有长时间移动(例如用户正在睡觉)?
  5. 您需要什么准确度? 10米或300米?
  6. 您是否需要在所有位置使用GPS精确度? GPS会在几小时内耗尽电量。
  7. 如果用户快速移动,您是否需要更新?乘车5分钟即可轻松行驶10英里。