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

时间:2013-07-31 10:25:39

标签: android android-intent android-service

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

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

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

我还能尝试别的吗?我怀疑这是操作系统中的一个错误。

1 个答案:

答案 0 :(得分:0)

  

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

如果这是针对消费者设备的,那么您的应用就会出现可怕的行为。您最终可能会在Play商店中获得否定星级评分。

  

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

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

  

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

WakefulIntentService不适用于经常运行的内容。您也可以抓住自己的WakeLock永久保留,或直到电池电量耗尽,或直到设备的用户射击你。

  

我还能尝试别的吗?

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

的状态