我有一个长期运行的后台任务涉及网络操作(例如,在中间发送推文列表Thread.sleeps
)。这项任务必须持续约20-30分钟。
推荐的方法是什么?
我可以为该任务使用意向服务吗?
因为如果设备入睡,IntentService
会停止。那么WakefulIntentService
会是一个不错的选择吗?
修改
以下是有关该问题的更多信息:
到目前为止,我已将WakefulBroadcastReceiver
与AlarmManager
一起用于定期任务。 startWakeful
启动一个执行短任务的IntentService。
但是在目前的情况下,我必须从活动中激活一个唤醒的IntentService(基于用户对活动字段的输入),这必须在后台静默执行更长作业并在完成时退出。
我刚刚意识到WakefulIntentService不是标准的Android类。它是一个额外的库here。