【Android】System.exit(0) 退出程式

來源:互聯網
上載者:User

標籤:

許多 Android 應用程式都是連續點擊兩下返回鍵時退出程式,代碼如下:

private long exitTime = 0;@Overridepublic 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);}

參考連結:Android中的“再按一次返回鍵退出程式”實現

此外,有人提到了 Stack Overflow 上的解決方案,有很多,未細看,這裡先把連結貼出來:Android: clicking TWICE the back button to exit activity

 

前者使用的時候遇到了一些問題:應用程式退出之後又重啟了!

 

上網尋找後發現有說法是:有 Activity 沒有 finish.

果不其然,這裡可能是單單一個 finish() 方法不足以 finish 所有的 Activity, 可以寫一個方法來實現,代碼如下(這裡僅供參考):

   private static Stack<Activity> activityStack;  public void finishAllActivity() {        for (int i = 0, size = activityStack.size(); i < size; i++) {            if (null != activityStack.get(i)) {                activityStack.get(i).finish();            }        }        activityStack.clear();    }

 

這樣做之後問題就解決了~

【Android】System.exit(0) 退出程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.