用戶在使用app時用戶點擊Home鍵切出應用到桌面,再從桌面點擊應用程序圖標試圖切回剛剛打開的界面時,應用會重新啓動,而從後臺菜單選項中點擊進入不會重新打開,經過查找也試過很多種方法,設置activity的launchMode等都不能解決此問題。其實原因很簡單,利用程序安裝器打開程序,啓動的Intent是沒有帶Category,而我們自己打開程序是帶了Category,所以只需要在配置Intent.ACTION_MAIN的Activity判斷下有無Category。然後放到通知欄的時候要更具有無Category 來生成啓動的Intent。
在應用程序設置<action android:name="android.intent.action.MAIN" />應用程序入口Activity的onCreate方法中加入下面的判斷,即可解決
if((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0){ finish(); return; }