天天看點

輕按兩下BACK鍵退出程式

今天就要結項目了,是以就額外添加了一個功能——輕按兩下BACK鍵退出程式。我做的項目是基于TabHost的,通過頁卡顯示了四塊内容。就跟新浪4.0版本微部落格戶端一樣的效果。

本來我也不會的,我隻是知道要重寫BACK鍵的功能。是以,就在網上搜尋了好一會兒,并使用了好幾種網上的版本<可惡的是有些還要CSDN積分才能下>。更可可恨的是,不能用。沒别的辦法,就得讀一讀代碼,綜合一下他們。最後,“黃天不負有心人”,OK了。是以我就要拿出來和大家分享一下;

首先,應該注意的是:重寫BACK鍵的功能方法要放在TabHost所在的類。

然後,就隻剩下代碼實作了,看代碼:

private long exitTime;
	@Override
	public boolean dispatchKeyEvent(KeyEvent event) {// back退出應用程式
		if (event.getKeyCode() == KeyEvent.KEYCODE_BACK
				&& event.getAction() == KeyEvent.ACTION_DOWN) {

			// 處理連按退出
			// System.currentTimeMillis()無論何時調用,肯定大于2000
			if ((System.currentTimeMillis() - exitTime) > 2000) 
			{
				Toast.makeText(getApplicationContext(), "再按一次,退出",
						Toast.LENGTH_SHORT).show();
				exitTime = System.currentTimeMillis();
			} else {
				finish();
				System.exit(0);
			}
			return true;
		}
		return super.dispatchKeyEvent(event);
	}
           

建一個群,友善大家交流:蹦蹦哒Android <群号:423923313>