溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中再按一次退出提醒實現(xiàn)的兩種方法

發(fā)布時間:2020-10-08 14:11:09 來源:腳本之家 閱讀:167 作者:吉格斯實驗室 欄目:移動開發(fā)

很多應(yīng)用中都有一個在用戶后退的時候顯示“再按一次退出”的提醒,這個怎么實現(xiàn)呢?有兩種方式

第一種方式(最常用)

 long waitTime = 2000; 
 long touchTime = 0; 
 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {
 if(event.getAction() == KeyEvent.ACTION_DOWN && KeyEvent.KEYCODE_BACK == keyCode) { 
     long currentTime = System.currentTimeMillis(); 
     if((currentTime-touchTime)>=waitTime) { 
     //讓Toast的顯示時間和等待時間相同
       Toast.makeText(this, "再按一次退出", (int)waitTime).show(); 
       touchTime = currentTime; 
     }else { 
       finish(); 
     } 
     return true; 
   } 
   return super.onKeyDown(keyCode, event); 
 }

第二種方式

重寫onBackPressed方法直接監(jiān)聽返回鍵

 @Override
 public void onBackPressed() {
    long currentTime = System.currentTimeMillis(); 
    if((currentTime-touchTime)>=waitTime) { 
     //讓Toast的顯示時間和等待時間相同
      Toast.makeText(this, "再按一次退出", (int)waitTime).show(); 
      touchTime = currentTime; 
    }else { 
      finish(); 
    } 
 }

這種方法雖然寫法簡單,但是這種方法缺只適用于Android 2.0以后.

如果你需要同時重寫這兩個方法,可能要注意一些問題啦!系統(tǒng)先是onKeyDown,如果return true了,就不會onBackPressed了

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對億速云的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI