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

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
為此,您必須使用這樣的活動(dòng)標(biāo)志從通知開始活動(dòng)
yourintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
它將清除前臺(tái)活動(dòng)實(shí)例和您在頂部創(chuàng)建的新活動(dòng)實(shí)例。
添加回答
舉報(bào)
0/150
提交
取消