標籤:
在開發應用程式的時候,有一種功能是非常常用到的,那就是迅速雙擊返回按鈕,然後實現退出Activity的功能。本人在網上看了很多資料代碼,總結起來,主要有兩種比較好的方式。一種是開線程延時執行,一種是記錄按鍵時間計算時間差實現。現在跟大家分享一下,代碼如下,希望對大家有協助:
第一種:利用線程延時實現:
private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedTimes == 0) { Toast.makeText(this, "再按一次退出程式 ", Toast.LENGTH_SHORT).show(); mBackKeyPressedTimes = 1; new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } finally { mBackKeyPressedTimes = 0; } } }.start(); return; else{ this.activity.finish(); } } super.onBackPressed(); }
第二種:利用計算時間差實現 (個人覺得這種方式較為簡單,而且不容易發生異常,代碼較為安全)
private long exitTime = 0; public void ExitApp() { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(this.activity, "再按一次退出程式", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { this.activity.finish(); } }
Android雙擊返回鍵退出Activity的兩種方法