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

时间:2016-12-10 19:18:40

标签: android network-programming alarmmanager job-scheduling

我必须在某个特定时间安排一些长时间运行的网络任务(下载文件)(例如在夜间安排)。现在可以使用作业调度程序完成,但在文档中它表示它应该用于较短的任务(少于3分钟),另一个选项是使用带有警报管理器的服务但不鼓励使用。那么在这两者之间做出选择还是有其他任何方法。

1 个答案:

答案 0 :(得分:1)

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

您需要触发警报WakefulBroadcastReceiver然后启动您的服务,因为听起来您的网络任务将在手机睡眠时晚上运行。这将确保服务立即运行,只需确保在任务完成时释放唤醒锁!

要释放唤醒锁,请在服务结束时使用:

MyWakefulReceiver.completeWakefulIntent(intent);

MyWakefulReceiver是你所做的接收者WakefulBroadcastReceiver。如果您需要更多帮助,请告诉我。