Android 延遲執行
因為手上的App有個倒數關閉的功能,因此一開始在找延遲執行後關閉的寫法,但是很奇怪的一些延遲執行的做法在我的App中卻沒有效果,後來終於找到可以在App中運作的寫法
Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { //過五秒後要做的事情 CastScreenService.stop(); android.os.Process.killProcess(android.os.Process.myPid()); }}, 5000);裡面的寫法是,五秒後將此App完全關閉。
至此本來應該就要完成了,但是後來因為我打算把這幾秒的時間顯示在上面,嘗試的要寫for迴圈,卻發現會因為要設定final的關係,迴圈的i值會被固定,便又去找了倒數計時的function,因此讓我找到了下列的寫法
new CountDownTimer(10000, 1000) { public void onTick(long millisUntilFinished) { Txt_Info2.setText("本程式於" + millisUntilFinished / 1000 + "秒後自動關閉"); } public void onFinish() { CastScreenService.stop(); android.os.Process.killProcess(android.os.Process.myPid()); }}.start();這個Android內建的CountDownTimer(執行多少毫秒,每次多久毫秒執行) 寫法完美的解決了我原本的需求,倒數幾秒後,自動執行,而每秒亦可顯示在打算顯示的文字上
CountDownTimer(執行幾秒*1000,每次多少秒執行*1000) 因此上面的寫法會是 執行10秒,每秒執行一次onTick,10秒後執行onFinish。
至此就完美的解決了我的需求
留言
張貼留言