定时任务有三种:
1.TimerTask
2.AlarmManager
3.CountDownTimer
1.TimerTask:
TimerTask task= new TimerTask() {
@Override
public void run() {
count++;
Log.i("MainActivity",count + "");
}
};
//time为Date类型:在指定时间执行一次。
timer.schedule(task, time);
//firstTime为Date类型,period为long,表示从firstTime时刻开始,每隔period毫秒执行一次。
timer.schedule(task, firstTime,period);
//delay 为long类型:从现在起过delay毫秒执行一次。
timer.schedule(task, delay);
//delay为long,period为long:从现在起过delay毫秒以后,每隔period毫秒执行一次。
timer.schedule(task, delay,period);
2.AlarmManager
Intent intent = newIntent(ReadLogService.this,TestBroadcast.class);
PendingIntent pd =PendingIntent.getBroadcast(getApplicationContext(), 0, intent,PendingIntent.FLAG_ONE_SHOT);
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
long triggerTime =SystemClock.elapsedRealtime() + 5*1000;
//triggerTime毫秒后执行pd
am.set(AlarmManager.ELAPSED_REALTIME,triggerTime, pd);
3.CountDownTimer
//每100毫秒执行一次onTick(),10000毫秒后执行onFinish();
CountDownTimer cdt = new CountDownTimer(10000, 100) {
@Override
public void onTick(long millisUntilFinished) {
tv_hello.setText(millisUntilFinished + "");
}
@Override
public void onFinish() {
}
};
cdt.start();