原因:
当调用到onNewIntent(intent)的时候,需要在onNewIntent() 中使用setIntent(intent)赋值给Activity的Intent.否则,后续的getIntent()都是得到老的Intent。

    @Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);initIntentData();}

onNewIntent调用时机 :
如果IntentActivity处于任务栈的顶端,也就是说之前打开过的Activity,现在处于
I/@@@philn(12410): onPause
I/@@@philn(12410): onStop 状态的话
其他应用再发送Intent的话,执行顺序为:
I/@@@philn(12410): onNewIntent
I/@@@philn(12410): onRestart
I/@@@philn(12410): onStart
I/@@@philn(12410): onResume
对应的lanchumodel 必须为singtop 或者singTask;

launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法,不要忘记,系统可能会随时杀掉后台运行的Activity,如果这一切发生,那么系统就会调用onCreate方法,而不调用onNewIntent方法,一个好的解决方法就是在onCreate和onNewIntent方法中调用同一个处理数据的方法

参考资料:
http://www.cnblogs.com/zenfly/archive/2012/02/10/2345196.html
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0520/2897.html

我就有一个需求,当时我不知道onNewIntent这回事,结果就悲剧了,自己做不出来。后来同事提醒,才知道。恩,过来人就是过来人。
就是比如:
我当前在activity A在 tab a 页面,然后,来了一条push,我现在要跳转到tab b, 但是我这个activity A必须是一个,不能点一个push 就一个,那么怎么做呢?怎么在不启动activity的情况下,改变tab, 这时候onNewIntent就出现了。 在里面处理一个想要切换到哪个tab,然后跳转,就ok了。

android onNewIntent 为什么要在onNewIntent的时候要显示的去调用setIntent相关推荐

  1. Android应用程序中的多个Activity的显示创建和调用

    布局文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:too ...

  2. Android 自定义Toast实现多次触发只会显示一次toast

    #使用场景描述 当我们处于某个场景,例如一个按钮可以触发toast的显示,当你在多次点击按钮时,会多次触发toast的显示.而调用android原生的toast的makeText的方式所生产的toas ...

  3. android 多个dialog 交替显示,Android如何在一个AlertDialog中一个接一个地显示两个ListViews...

    我有两个列表.一个列表显示可用列表中的所有可用项目(lv_available_items)和仅次要项目(lv_selected_items).我还希望该选定列表最多占用显示的50%,因此我使用属性&q ...

  4. android流量显示插件,[android]仿360状态,种流量监控桌面浮动显示

    [android]仿360状态,类流量监控桌面浮动显示 前两天看到部分音频播放器可以实现在桌面上显示歌词,360那个浮动的桌面提示,想不到怎么实现.然后查了些资料大致了解了下,比想象的简单多了.先看效 ...

  5. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例...

    引言 Cordova(PhoneGap)採用的是HTML5+JavaScript混合模式来开发移动手机APP.因此当页面须要获取手机内部某些信息时(比如:联系人信息,坐标定位.短信等),程序就须要调用 ...

  6. 解决Android Studio默认AppTheme 没有lable标签,不显示等问题

    解决Android Studio默认AppTheme 没有lable标签,不显示等问题 参考文章: (1)解决Android Studio默认AppTheme 没有lable标签,不显示等问题 (2) ...

  7. Android之View提升:四 使用ExpandableListView 折叠显示

    Android之view提升:四 使用ExpandableListView 折叠显示 组项布局 子项布局 自定义Adapter 继承 BaseExpandableListAdapter package ...

  8. android解锁界面分析,Android 7.0 锁屏解锁之向上滑动显示解锁界面分析

    Android 7.0 锁屏解锁之向上滑动显示解锁界面分析 by jing.chen 锁屏的解锁操作是在锁屏界面向上滑动实现的,通过向上滑动调出解锁界面(如图案.PIN.密码解锁界面),在解锁界面输入 ...

  9. Android:剖析源码,随心所欲控制Toast显示

                  本文转载于:http://www.cnblogs.com/net168/p/4058193.html                前言 Toast相信大家都不会陌生吧,如 ...

最新文章

  1. 如何在Mac上加入adb服务
  2. 计算体系结构的演进规律
  3. 判断sem信号量为零_Linux系统编程——进程同步与互斥:System V 信号量
  4. 快速开发平台网格部件合并单元格。
  5. 设计模式---装饰模式
  6. 数据库中char与varchar类型的区别 1
  7. 测试作业---兴趣问题清单
  8. (转)Kinect背景移除支持多人
  9. 哈希表,哈希算法(C语言)
  10. Centos7 安装python3.7.0
  11. SQL Server高级查询之常见数据库对象(视图)第五章节
  12. java 3d文字旋转_3d多物体点旋转
  13. Loadrunner 接口测试方法
  14. 小和尚卖石头,唤醒无数人!
  15. Android通过修改配置文件设置wifi密码
  16. 数学建模预测模型总结
  17. 北京交管部门多举措进行二环慢行系统改造,提升通行安全与效率
  18. 计算机网络之初识网络
  19. 驾考题库API接口,免费好用
  20. 市场调研你所不知道的几个关键点

热门文章

  1. android 属性动画 弧形,CSS分层动画可以让元素沿弧形路径运动
  2. linux网络配置总结,linux中的网络配置命令的总结
  3. C++、C#控制台应用程序暂停下来的方法
  4. java.net import_import java.net.URL;是什么类?
  5. 记录一下ECS修改实例密码以及安装可视化桌面
  6. 电机调速制动matlab,基于Matlab的三相异步电动机起动、调速和制动特性仿真
  7. 脚本大全_抖音文案大全2020励志:抖音最火励志搞笑句子,直接套用上热门
  8. ASP.NET 4.0 新特性--Web.Config Transformation(原创)
  9. 网络标准和OSI模型(1)
  10. 收藏:JavaScript