Activity设置AsyncTask无法获取Intent中的值

最近在做一个从外部浏览器打开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

    原文作者:小菜鸟程序媛
    原文地址: https://www.jianshu.com/p/16fbcab95157
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞