iT邦幫忙

DAY 16
0

菜逼八的 Android 開發 30天系列 第 16

【菜逼八學Android】按兩下Back離開程式

  • 分享至 

  • xImage
  •  

今天要講的這個東西在各APP都還蠻常看到的,就是按兩下Back離開程式,

我在我自己的APP中會設計這個,主要是因為使用者常常會不小心去點到Back鍵而離開程式,

另外一提,Home鍵是不可卡的,好像是因為Android怕會有成是當機導致整個系統被影響的緣故

總之好處多多,那就來動手做做看囉!

這邊的設計邏輯是這樣,如果按下第一下Back,偵測它是否要退出了,如果沒有,

則記錄下次按下Back要退出,並在2秒內要完成。

  private static Boolean isExit = false;

  private static Boolean hasTask = false;

 

  Timer timerExit = new Timer();

  TimerTask task = new TimerTask() {

       @Override

       public void run() {

           isExit = false;

           hasTask = true;

       }

  };

 

  @Override

  public boolean onKeyDown(int keyCode, KeyEvent event) {


	  // 判斷是否按下Back
        if (keyCode == KeyEvent.KEYCODE_BACK) {
	     // 是否要退出
           if(isExit == false ) {

                 isExit = true; //記錄下一次要退出

                 Toast.makeText(this, "再按一次Back退出APP"

                      , Toast.LENGTH_SHORT).show();

		   // 如果超過兩秒則恢復預設值		   
                 if(!hasTask) {

                      timerExit.schedule(task, 2000);

                 }

           } else {

                finish(); // 離開程式

                System.exit(0);

           }

        }

        return false;

  }

那今天就到這邊囉~我們明天見啦~~


上一篇
【菜逼八學Android】什麼?主線程不能超過5秒!(2)
下一篇
【菜逼八學Android】開啟外部程式
系列文
菜逼八的 Android 開發 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言