2
我試圖讓我的應用程序每天都在同一時間執行一項任務。這是一個必須在後臺完成的任務(上傳文件)。我使用一個AsyncTask。 任何想法如何做任務? 我試圖用AlarmManager來做,但我沒有成功。定期執行任務
我試圖讓我的應用程序每天都在同一時間執行一項任務。這是一個必須在後臺完成的任務(上傳文件)。我使用一個AsyncTask。 任何想法如何做任務? 我試圖用AlarmManager來做,但我沒有成功。定期執行任務
我建議你使用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);
調度完成後,您的文件上傳代碼將在該服務中完成這項工作。
這是一個很好的解決方案......但這種事情完全是* SyncManager的設計目的。你可以考慮使用它。 –
你試過看[這裏](http://developer.android.com/training/scheduling/alarms.html)? – user2340612
你可以發佈你的代碼嗎? –