0

我正在使用requestLocationUpdates

GoogleApiClient client; 
LocationRequest request; 
PendingIntent callbackIntent;

FusedLocationProviderApi. 屏幕打开时,它正常且频繁地工作。

但是,当设备进入睡眠模式时,它不会调用 PendingIntent。如何在睡眠模式下不断获取更新?

4

1 回答 1

0

您是否设法使位置处于深度睡眠模式?即使我面临同样的问题。我观察到我在设备唤醒后收到了位置(在深度睡眠模式下更新),但带有当前时间戳(唤醒后的时间)。出于我自己的原因,我将我的应用程序类设置为监听器。而且我不太确定 onLocationChanged() 未命中的原因是否是组件未在深度睡眠模式下运行..在我的情况下是 Application.

我有一个解决方案 - 你可以让 ALarmManager 定期触发,然后获取 partial_wakelock 唤醒 CPU 并调用 getLastKnownLocation() 并释放唤醒锁。对于我的情况,这似乎不是一个合适的解决方案,因为我想要基于位移的位置。

编辑
工作解决方案是http in deep sleep mode。尽管问题无关紧要,但上下文是相同的。以这种方式接收位置也应该有效。

于 2015-06-09T15:34:47.377 回答