3 回答

TA貢獻1859條經驗 獲得超6個贊
這應該可以解決問題。
<activity ... android:launchMode="singleTop" />
創建啟動應用程序的意圖時:
Intent intent= new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
這是需要的。

TA貢獻1856條經驗 獲得超17個贊
最終對我真正起作用的是:
Intent myIntent = new Intent(getBaseContext(), MainActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(myIntent);

TA貢獻1862條經驗 獲得超7個贊
從文檔引用:
“標準”和“ singleTop”模式在一個方面彼此不同:每次有新的“標準”活動意圖時,都會創建該類的新實例以響應該意圖。每個實例都處理一個意圖。類似地,還可以創建“ singleTop”活動的新實例來處理新意圖。但是,如果目標任務在其堆棧的頂部已經具有該活動的現有實例,則該實例將接收到新的意圖(在onNewIntent()調用中);沒有創建新實例。
我不確定100%表示“已經在其堆棧頂部具有該活動的現有實例”是什么意思,但是您的活動可能不滿足此條件。
請問singleTask或singleInstance為你的工作?或者也許您可以嘗試設置FLAG_ACTIVITY_SINGLE_TOP要創建的意圖,以查看是否有所不同,盡管我認為不會。
- 3 回答
- 0 關注
- 713 瀏覽
添加回答
舉報