Android FusedLocationproviderApi requestLocationUpdates在深度睡眠模式下未运行pendingIntent

时间:2015-05-28 04:08:09

标签: android fusedlocationproviderapi

我正在使用requestLocationUpdates

GoogleApiClient client; 
LocationRequest request; 
PendingIntent callbackIntent;

来自FusedLocationProviderApi。当屏幕打开时,它正常工作。

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

1 个答案:

答案 0 :(得分:0)

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

我有一个SOLTUION - 你可以让ALarmManager定期激活,你可以获取partial_wakelock唤醒CPU并调用getLastKnownLocation()并释放唤醒锁。这似乎不适合我的情况,因为我想要基于Displacement的位置。

修改
工作解决方案是http in deep sleep mode。虽然问题无关紧要,但背景相同。以这种方式接收地点也应该有效。