前提:现在的项目接入了华为的push功能,push启动app内页面,我没有另起中转activity,直接跳转到启动页,但是埋下了一个坑,以为华为push启动activity需要在清单文件中设置launchMode =singleTask。后来发现每次应用置于后台重新唤起的时候都会从启动页重新走一次,相当于冷启动了。我开始的想法是直接重新做一个中转页,专门给华为push启动,后来由于业务问题,另寻他路。
方法一:直接把清单文件中activity的launchMode =singleTask去掉,但是由于我是需要用到华为的push,所以用了下面的方法。
方法二:
if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) !=0) {
finish();
return;
}
在onresume中调用这个方法及时关掉当前activity,当然推荐在oncreate中做,我是因为业务问题,用户体验好像不大。
网友评论