我有一个Foreground服务,使用ScheduleTaskExecutor
定期向服务器发送消息。间隔为15秒,不能再长。
我想我已经在SO上阅读了几乎关于类似要求的所有内容,但是在使用Android 2.3.x的设备上,执行器在设备进入睡眠模式后停止执行 - 即按下电源按钮后。 / p>
我也尝试过使用AlarmManager:cwac-wakeful但结果完全相同。
我还能尝试别的吗?我怀疑这是操作系统中的一个错误。
答案 0 :(得分:0)
我有一个Foreground服务,它使用ScheduleTaskExecutor定期向服务器发送消息。间隔为15秒,不能再长。
如果这是针对消费者设备的,那么您的应用就会出现可怕的行为。您最终可能会在Play商店中获得否定星级评分。
我想我已经在SO上阅读了几乎关于类似要求的所有内容,但是在使用Android 2.3.x的设备上,执行器在设备进入睡眠模式后停止执行 - 即按下电源按钮后。 / p>
也许你没有获得WakeLock
。并且,根据相关设备上的连接选项,您可能还需要WifiLock
才能获得可靠的结果。
我也尝试过使用AlarmManager:cwac-wakeful但结果完全相同。
WakefulIntentService
不适用于经常运行的内容。您也可以抓住自己的WakeLock
永久保留,或直到电池电量耗尽,或直到设备的用户射击你。
我还能尝试别的吗?
使用日志记录(您和系统)来准确确定发生的情况和未发生的情况。使用 adb shell dumpsys power
确认WakeLock
。