使用激光推送推送多条消息,且它们打开的都是同一个含有webview的activity,用webview显示不同信息。
这时遇到了问题,activity启动模式的问题,如果使用Standard模式,默认每启动一次就创建一个实例,如果在app界面点击通知打开指定的activity,打开该activity界面后我们继续在该activity界面点击通知,确实能达到更新数据的效果,但是我设置了离开该activity界面,就自动销毁,回到主页。此时问题来了,如果退出app后点击通知拉起app,进入指定的activity后,返回到主页,再次点击新的通知后不会进行跳转。
之后使用singleTask模式,但是使用singleTask模式的话,在显示通知内容的activity页面点击新的通知不会刷新页面

无论是Standard模式还是singleTask模式都不会刷新页面,即如图片中那样,我在测试2页面直接点击测试3的通知,没有任何反应,页面没有刷新数据。

解决办法是使用singleTask模式会调用onNewIntent方法,我们在onNewIntent中设置intent,
setIntent(intent);
不设置这个的话获取到的intent的是以前的intent,没法获取到最新的intent。
我们设置了setIntent(intent)

在使用极光推送时,若要让多个消息指向同一含有Webview的Activity并显示不同内容,会遇到启动模式选择的挑战。Standard模式会导致每次点击通知创建新的Activity实例,而singleTask模式下无法直接刷新页面。解决方案是在singleTask模式的onNewIntent方法中设置intent,以确保获取并处理最新的通知数据,从而实现页面刷新。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



