Android應用第一次安裝成功點擊「打開」後Home鍵切出應用後再點擊桌面圖標返回致使應用重啓問題

 最近項目中遇到一個問題,用戶第一次安裝應用在系統的安裝器安裝完成界面有「完成」和「打開」兩個按鈕。android

      當用戶點擊「打開」按鈕進入用戶註冊頁面進行手機號驗證碼發送和驗證碼輸入等操做界面,若此時用戶點擊Home鍵切出應用到桌面,再從桌面點擊應用程序圖標試圖切迴應用完成驗證碼輸入等操做時,應用從新走了歡迎頁等步驟,此時以前從系統的安裝完成界面點擊打開啓動的應用其實還在後面運行。code

      然而當用戶「徹底退出」應用,或者在安裝完成界面直接點擊「完成」按鈕再從桌面啓動,或者此應用以前是存在的「覆蓋安裝」後點擊「打開」按鈕都是不會致使應用程序「屢次啓動」的。blog

      通過查找也試過不少種方法,設置activity的launchMode等都不能解決此問題,廢話很少說,上解決辦法。get

      其實緣由很簡單,利用程序安裝器打開程序,啓動的Intent是沒有帶Category,而咱們本身打開程序是帶了Category,因此只須要在配置Intent.ACTION_MAIN的Activity判斷下有無Category。而後放到通知欄的時候要更具備無Category 來生成啓動的Intent。it

if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){
   finish();
   return;
}

      在應用程序設置<action android:name="android.intent.action.MAIN" />應用程序入口Activity的onCreate方法中加入上面的判斷,完美解決應用程序屢次重啓問題。io

相關文章
相關標籤/搜索