【发布时间】:2012-04-16 11:10:52
【问题描述】:
我已经通过解决方案,发现有很多方法可以实现位置跟踪逻辑。
- Intent+BroadcastReceiver+LocationListener
- Intent+IntentService+AlarmManager
- 位置监听器
- 其他技术或上述的不同组合...
我正在尝试找出实现相同目标的最佳做法(最省电的方式)...
我有一个库类 MyLocationClass.java,它有两种方法 1. startTracking() - 在 T 时间后开始发送用户位置,并且仅当用户移动了 X 距离时 2. stopTracking() - 停止发送位置更新。
一个简单的答案似乎是 LocationListener,因为它内置的 Time Passed/Distance Moved 功能可提供更好的用户体验,但是...
我不想让 GPS 一直开启?事实上,它应该只在 T 和 X 交叉时打开。使用 Service/IntentService 和/或/与警报管理器 Timer 会是更好的解决方案吗?带有 LocationListeners 的广播接收器能否被证明是更好的解决方案?
请提出建议。
【问题讨论】:
-
这完全取决于你想对数据做什么
标签: android android-intent alarmmanager intentservice locationlistener