根据Android文档,这种情况非常普遍,但我仍然没有找到一个既不存在也不存在于网络上的直接解决方案。 所以我有一个服务,应该做这样的事情:如何从服务中获取Android位置更新请求
- 注册一个LocationListener的接收用户位置
- 一旦LocationListener的被称为 - 停止监听5分钟车
- 5分钟后,开始收听再次从1开始循环
这是在聆听用户位置时节省电池电量的建议方法。
作为一项服务,我有第3步的主要问题。 我发现“等待”5分钟的唯一方法是安排一个java.util.Timer在5分钟内执行TimerTask,并且此TimerTask应该注册LocationListneres再次。 了java.lang.RuntimeException: 然而,这并不因为工作内螺纹已不叫Looper.prepare无法创建处理程序() 这也有望因为requestLocationUpdates应该从一个“主”线程调用。
好..好...但我没有一个主线程。我没有活动。从TimerTask我不能发送意图到服务注册我的听众回来。
我该如何问我自己的服务再次注册我的听众?
谢谢 - 引用的编码为我进一步开发我的应用程序提供了一个良好的开端。 – vap78 2012-03-14 17:24:38