如何在Android中在特定时间安排长期运行的网络任务



我必须在某些特定时间安排一些长期运行的网络任务(下载文件)(在夜间时间)。现在可以使用作业调度程序完成,但是在Doc中说,它应该用于较短的任务(不到3分钟),另一个选择是将服务与警报管理器一起使用,但不建议使用。因此,在这两者之间选择什么或也有其他方法。

您最好的选择是使用AlarmManager安排IntentService在您的特定时间和间隔下运行。

您将需要向WakefulBroadcastReceiver发射警报,然后开始您的服务,因为听起来您的网络任务将在电话睡觉时在晚上运行。这将确保服务立即运行,只需确保完成任务后释放尾锁!

要释放Wakelock,请在服务结束时进行此操作:

MyWakefulReceiver.completeWakefulIntent(intent);

其中MyWakefulReceiver是您制作的接收器,它扩展了WakefulBroadcastReceiver。如果您需要更多帮助,请让我知道。

最新更新