我正在尝试让我的应用程序每天同时执行任务。这是一项必须在后台完成的任务(上传文件)。我使用AsyncTask。 知道如何完成任务吗? 我尝试使用AlarmManager来做,但我还没有成功。
答案 0 :(得分:1)
我建议您使用Service
,在一天中的特定时间在后台上传文件。
要正确安排服务,请使用AlarmManager
类,如图所示。
Calendar cal = Calendar.getInstance();
// Set upload time to be 11 am
cal.set(Calendar.HOUR_OF_DAY, 11);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
// 24 hours interval
long interval = 24*60*60*1000; // Or use AlarmManager.INTERVAL_DAY
Intent intent = new Intent(this, YourService.class);
PendingIntent pintent = PendingIntent.getService(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
//Start every 24 hours (once in a day)
alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), interval, pintent);
完成计划后,该服务中的文件上传代码即可完成。