Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中再按一次退出實現

Android中再按一次退出實現

編輯:關於Android編程

很多應用中都有一個在用戶後退的時候顯示“再按一次退出”的提醒,這個怎麼實現呢?有兩種方式

第一種方式(最常用)

	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方法直接監聽返回鍵

	@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以後.

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



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved