1. 程式人生 > >解決:Android App 在執行時候按下 home 鍵,讓App 在後臺執行,點選圖示再次進入時防止應用重新啟動

解決:Android App 在執行時候按下 home 鍵,讓App 在後臺執行,點選圖示再次進入時防止應用重新啟動

一:app 退出時,讓 app 在後臺執行,類似於 home 鍵的功能,最小化

重寫 onkeydown 和 onBackPressed 方法,主要是 movetoBack 方法。 注意在 MainActivity (主介面)中設定,而不是 SplashActivity(啟動頁)。 在 activity 中呼叫 moveTaskToBack (boolean nonRoot) 方法即可將 activity 退到後臺,注意不是 finish() 退出。

引數為 false 代表只有當前 activity 是 task 根,指應用啟動的第一個 activity 時,才有效; 如果為 true 則忽略這個限制,任何 activity 都可以有效。 程式碼片

:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(false);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

@Override
public void onBackPressed() {
    moveTaskToBack(false);
    super.onBackPressed();
}

二:Android 點選 Home 鍵後再點選 APP 圖示,APP 顯示退出之前的介面

解決方法: 在SplashActivity(啟動頁)中通過 isTaskRoot(Return whether this activity is the root of a task. The root is the first activity in a task.)方法來進行判斷:

程式碼片:

@Override 
protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState)
; if (!isTaskRoot()) { finish(); return; } /*.....*/ }