Android下兩次返回鍵完全退出程序以及提示對話框的實現

我們看到許多界面友好的應用,在退出程序這一步也做得很人性化,比如按兩下返回鍵退出程序,第一次按了返回鍵的時候,提示“再按一次返回鍵就退出程序”,其實在自己的程序裏面,也可以這樣做。
	private long exitTime = 0; 
	@Override 
	public boolean onKeyDown(int keyCode, KeyEvent event) { 
		if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){ 
			if((System.currentTimeMillis()-exitTime) > 2000){ 
				Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); 
				exitTime = System.currentTimeMillis(); 
			} else { 
				finish(); 
				System.exit(0); 
			} 
			return true; 
		} 
		return super.onKeyDown(keyCode, event); 
	}
在MainActivity中加上以上代碼:onKeyDown響應按鍵消息,keyCode是按鍵碼,event是按鍵消息,封裝了本次按鍵的動作;exitTime保存上一次按返回鍵的時間(long),如果這次按返回鍵的時間距上次的時間小於2S(long的2000),就退出,finish()是將activity完成,System.exit(0)是退出程序,主要要保證所有的activity都退出了,才調用exit,不然會有後臺程序還在繼續運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章