2013-08-06 79 views
0

我陷入了一个问题。我从Here获得了一个用户位置跟踪示例。我在旅行期间测试了很多时间。当我开始一个应用程序,并在旅行期间,我正在处理android手机(意味着在设备上做任何工作),那么它每隔30秒就会跟踪用户的位置。对我来说很好。但是,在旅行期间,如果我将我的设备锁在口袋里,并在到达目的地后,我检查了应用的纬度,经度列表中缺少旅行的位置经纬度坐标。列表中每30秒列出的数据(lat-long)表示AlarmManager正常工作。问题是,在旅行期间,在旅行期间获取同一位置时,位置不会改变,因为我在旅行时锁定了设备。如果我在任何地方旅行期间唤醒设备,立即需要最新位置(经纬度长度)。 。不知道究竟发生了什么,问题是什么。我尝试了WakefulIntentService。请帮帮我。 先谢谢您。用户位置在Android的长途旅行中不会改变

回答

0

AlarmManager.setRepeating()将类型设置为ELAPSED_REALTIME_WAKEUP或RTC_WAKEUP,以便在设备休眠时运行。

然后,当警报事件被触发并由BroadcastReceiver收到时,您将不得不创建,您可以请求更新并处理其他事件。

+0

你好Keerthana,谢谢你的rpl。我用了一样的。 AlarmManager在睡眠模式下工作正常。问题的位置在设备睡眠期间没有改变。意思是当我到达同一地点并解锁设备的过程中和之后,我将设备锁定在相同位置时,则需要更新位置。请让我知道你是否有任何解决方案。预先感谢您...... –

+0

手机锁定时无法完成GPS更新。所以,无论何时触发报警事件,强制手机唤醒并更新GPS位置。看看[http://stackoverflow.com/questions/3579027/android-periodically-wake-up-from-standby-mode]定期从睡眠模式唤醒手机。 –

+0

Hello Keerthana,谢谢。我使用了FULL_WAKE_LOCK,然后它对我来说工作正常,但它会每隔30秒打开一次屏幕并更新位置。我也尝试使用PARTIAL_WAKE_LOCK保持屏幕关闭,只唤醒CPU,所以它不适合我的工作意味着不更新背景中的位置。请帮我,我从最近1周卡在这里。先谢谢你。 –