我已經在我的 Android 應用程序中實現了 OneSignal 推送通知。我會發送帶有 URL 的推送通知作為附加到它們的有效負載。該 URL 發送一個 Intent,該 Intent 可以被我的應用程序或瀏覽器的另一個 Activity 打開。因此,當我的應用程序的某些活動處于前臺并且我選擇在我的應用程序中打開通知時,我的應用程序有 2 個實例。因此,即使用戶在現在最上面的活動中點擊退出,已經打開的活動仍然存在。基本上,用戶必須從我的應用程序中退出兩次(如果這種情況持續發生,可能還會退出更多次)。那么,當用戶點擊通知(并選擇在我的應用程序而不是瀏覽器中打開它)然后繼續..時,有什么方法可以完成前臺活動?另外,我已經嘗試了所有的啟動模式:normal,singleTop,singleTask和singleInstance,所有產生的結果,他們設計的,但是,沒有人能適合我的情況。我不知道我應該在這里包含哪些代碼。如果無法做到這一點,有沒有辦法將我的應用程序的所有活動(無論從哪里啟動)啟動到同一個實例中?
1 回答

瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
為此,您必須使用這樣的活動標志從通知開始活動
yourintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
它將清除前臺活動實例和您在頂部創建的新活動實例。
添加回答
舉報
0/150
提交
取消