0

我正在尝试做的事情


大家好,我正在尝试创建一项服务,该服务每小时将 Locationupdate 发布到我的服务器。该代码似乎有效,当我启动服务时,它会自动发布第一个位置更新,之后什么也没有发生。但奇怪的是,有时它有时不...

问题


那么我需要更改我的位置管理器每小时放置一次位置更新的代码。如果您有很棒的教程或一些代码示例,那就太好了!

4

2 回答 2

3

可能您的设备关闭了 CPU 以节省电池电量,您的服务将不会收到更新。考虑使用更新警报,它只请求一次位置更新(从 API 9 开始,位置管理器中有一种方法)或在您的服务中使用 WakeLock(如果您只需要一次更新,这会浪费电池电量每隔一小时)。

有关警报管理器的更多信息,请参见此处:http: //developer.android.com/reference/android/app/AlarmManager.html

于 2012-02-28T09:34:41.350 回答
0

同上一个答案,您不应该为此使用 requestLocationUpdates 。您应该每小时使用一次 AlarmManager,然后执行 .requestSingleUpdate()。

顺便说一句,你给它的时间大多是假的,设备只是用它作为提示,你可以期望频率比你要求的要高得多。

请记住,一个小时后,您的应用程序极有可能会被 android 的进程管理器杀死,因此无论如何它都会死掉。在任何情况下,AlarmManager 都可以解决这个问题。

于 2012-02-28T09:42:26.027 回答