即使设备处于睡眠模式,也发送“保持活动消息”



我有一个前台服务,它使用 ScheduleTaskExecutor 定期向服务器发送消息。间隔为 15 秒,不能更长。

我想我已经阅读了有关SO类似要求的几乎所有内容,但是在装有Android 2.3.x的设备上,执行器在设备进入睡眠模式后停止执行 - 即按下电源按钮后。

我也尝试使用AlarmManager:cwac-wakeful,但结果完全相同。

还有什么我可以尝试的吗?我怀疑这是操作系统中的一个错误。

我有一个前台服务,它使用 ScheduleTaskExecutor 定期向服务器发送消息。间隔为 15 秒,不能更长。

如果这是针对消费者设备,这是应用的可怕行为。您可能会在 Play 商店中获得负面星级评分。

我想我已经阅读了有关SO类似要求的几乎所有内容,但是在装有Android 2.3.x的设备上,执行器在设备进入睡眠模式后停止执行 - 即按下电源按钮后。

也许您没有获得WakeLock.而且,根据相关设备上的连接选项,您可能还需要一个WifiLock以获得可靠的结果。

我也尝试使用AlarmManager:cwac-wakeful,但结果完全相同。

WakefulIntentService不是为频繁运行的东西而设计的。您不妨拿起自己的WakeLock永远握住,或者直到电池耗尽,或者直到设备的用户向您开枪。

还有什么我可以尝试的吗?

使用日志记录(您的和系统的(来准确确定正在发生和未发生的情况。使用adb shell dumpsys power确认WakeLock的状态。

最新更新