要想使用Android中的定時任務,首先必須先獲取AlarmManager的對象,然後調用AlarmManager的set(int type,long triggerAtMillis,PendingIntent operation)或者setExact(int type,long triggerAtMillis,PendingIntent operation)設置定時任務,第二種方法定時更準確些。
1、獲取AlarmManager對象,使用Context的getSystemService()方法,參數是Context.ALARM_SERVICE。
2、設置定時任務,兩種方法的參數都一樣。這裏對它們一一解釋
int type : 定時任務的類型。可取的值有AlarmManager.ELAPSED_REALTIME(定時任務的觸發時間從系統開機開始算起,不會喚醒CPU)、AlarmManager.ELAPSED_REALTIME__WAKEUP(定時任務的觸發時間從系統開機開始算起,會喚醒CPU)、RTC(定時任務的 觸發時間從1970年1月1日0時開始算起,不會喚醒CPU)、RTC_WAKEUP(定時任務的 觸發時間從1970年1月1日0時開始算起,會喚醒CPU)。
long triggerAtMillis:定時定的時刻,獲取系統開機時刻到當前時刻SystemClick.elapsedRealtime();獲取1970年1月1日0時到當前時刻SystemClick.currentThreadTimeMills();獲取到當前時刻再加上要定的時長即可做爲參數傳入方法中。
PendingIntent operation:定時到了後的操作意圖,詳見這篇文章。