延時執行的方法主要有:
1、開啟新線程;2、利用定時器;3、消息處理;4、利用AlarmManager
一、開啟新線程
new Thread(new Runnable(){
public void run(){
Thread.sleep(XXXX);
handler.sendMessage(); //告訴主線程執行任務
}
}).start
二、利用定時器
TimerTask task = new TimerTask(){
public void run(){
//execute the task
}
};
Timer timer = new Timer();
timer.schedule(task, delay);
三、消息處理
new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
}
}, delay);
四、AlarmManager,簡單的定時一般不使用這種方法
AlarmManager,顧名思義,就是“提醒”,是Android中常用的一種系統級別的提示服務,在特定的時刻為我們廣播一個指定的Intent。簡單的說就是我們設定一個時間,然后在該時間到來時,AlarmManager為我們廣播一個我們設定的Intent,通常我們使用 PendingIntent,PendingIntent可以理解為Intent的封裝包,簡單的說就是在Intent上在加個指定的動作。在使用Intent的時候,我們還需要在執行startActivity、startService或sendBroadcast才能使Intent有用。而PendingIntent的話就是將這個動作包含在內了。