Android 延遲執行
因為手上的App有個倒數關閉的功能,因此一開始在找延遲執行後關閉的寫法,但是很奇怪的一些延遲執行的做法在我的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);
至此本來應該就要完成了,但是後來因為我打算把這幾秒的時間顯示在上面,嘗試的要寫for迴圈,卻發現會因為要設定final的關係,迴圈的i值會被固定,便又去找了倒數計時的function,因此讓我找到了下列的寫法
這個Android內建的CountDownTimer(執行多少毫秒,每次多久毫秒執行) 寫法完美的解決了我原本的需求,倒數幾秒後,自動執行,而每秒亦可顯示在打算顯示的文字上
- 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();
CountDownTimer(執行幾秒*1000,每次多少秒執行*1000) 因此上面的寫法會是 執行10秒,每秒執行一次onTick,10秒後執行onFinish。
至此就完美的解決了我的需求
留言
張貼留言