最初我在寫通知的時(shí)候?qū)ndroid的啟動(dòng)模式不是很清晰導(dǎo)致每一次點(diǎn)擊通知消息都會(huì)創(chuàng)建一次MainActivity,經(jīng)過瀏覽帖子,對(duì)啟動(dòng)模式理解加深,得出解決辦法。
在AndroidMainfestwen文件中注冊(cè)Activity時(shí)將需要被跳轉(zhuǎn)的Activity的啟動(dòng)模式設(shè)置為SingleTask即可
相關(guān)代碼
我第一次將其設(shè)置為SingleInstance,也是可行的,但某些場(chǎng)景下多任務(wù)界面會(huì)有兩個(gè)自己創(chuàng)建的應(yīng)用,還會(huì)遇到無法啟動(dòng)Activity的bug,其原因在于SingleInstance是在單獨(dú)的一個(gè)Task棧中,例如用戶退出登陸時(shí)結(jié)束所有activity回到登陸界面,此時(shí)使用了SingleInstance的activity無法被結(jié)束,多任務(wù)界面會(huì)將其顯示出來,點(diǎn)擊后就會(huì)出現(xiàn)無法啟動(dòng)activity的bug。而SingleTask啟動(dòng)模式會(huì)一直使用一個(gè)Task棧,不會(huì)單獨(dú)重新創(chuàng)建Task棧。