使用极光推送同时推送多条消息,且都打开同一界面时遇到的问题

使用激光推送推送多条消息,且它们打开的都是同一个含有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);之后就可以获取到intent传过来的数据,对数据进行刷新了,也可直接在onNewIntent()中进行数据刷新。

猜你喜欢

转载自blog.csdn.net/blackei/article/details/80764404