public void onClick(View v) {
if (!timerRunning)
{
timerRunning = true;
timerUpdateHandler.post(timerUpdateTask);
}
}
下面的代碼是稱為timerUpdateTask的Runnable對象。該對象包含run方法,通過timer- UpdateHandler對象觸發(fā)它。
private Runnable timerUpdateTask = new Runnable() {
public void run()
{
如果currentTime(保存倒計(jì)時(shí)的整數(shù))大于1,那么將對它進(jìn)行遞減,同時(shí)安排1秒鐘后再次調(diào)用該Handler對象。
if (currentTime > 1)
{
currentTime--;
timerUpdateHandler.postDelayed(timerUpdateTask, 1000);
}
else
{
如果currentTime不再大于1,那么將實(shí)際觸發(fā)攝像頭以使其照相,并重置所有的跟蹤變量。
camera.takePicture(null,null ,TimerSnapShot.this);
timerRunning = false;
currentTime = 10;
}
無論如何,我們都將更新TextView對象,使得它在照相之前一直顯示當(dāng)前的時(shí)間。