最近在做一个从外部浏览器打开App,然后跳转到特定界面的需求,当app每次都从后台杀死的话,跳转没有问题,如果app按home键置于后台的话,却会出现从SplashActivity到MainActivity跳转的过程中获取不到intent中传递的值,就因为MainActivity设置的是singleTask,而SingleTask只允许系统中存在一个实例,如果这个实例已经存在,那么就会将他之上的所有Activity都移除掉,然后显示出该实例,而Intent将会通过onNewIntent()发送到这个Activity中。
经过多方查找,最终找到了如下解决方案
@Override
protected void onNewIntent(Intent intent){
super.onNewIntent(intent);
setIntent(intent);
}
参考
http://blog.csdn.net/lvxiangan/article/details/43084633
Activity启动模式
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0520/2897.html
网友评论