我有一个前台服务,它定期使用ScheduleTaskExecutor
. 间隔为 15 秒,不能再长。
我想我已经阅读了关于 SO 上类似要求的几乎所有内容,但是,在 Android 2.3.x 的设备上,执行程序在设备进入睡眠模式后停止执行 - 即按下电源按钮后。
我也尝试使用 AlarmManager: cwac-wakeful但结果完全相同。
还有什么我可以尝试的吗?我怀疑这是操作系统中的错误。
我有一个前台服务,它定期使用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
.