場景:
按HOME鍵隱藏程序,但點擊桌面圖標,重新進入程序後,發現界面跟剛安裝進入時是一樣的,相當於程序重新初始化加載了。舉個明顯的例子:比如我的應用是定時器,有倒計時功能,我第一次打開程序時,已經啓動了倒計時,當我按HOME鍵隱藏程序,讓程序進入後臺,之後我從桌面點擊圖標進入,發現倒計時重新開始了,這很明顯是個bug。
原因分析:
原因很可能是intent攜帶的信息不一樣導致的
解決方法:
在程序啓動的首頁面 android.intent.action.MAIN 添加下面的處理代碼:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//這是爲了應用程序安裝完後直接打開,按home鍵退出後,再次打開程序出現的BUG
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
//結束你的activity
return;
}
}