onNewIntent在什么情况下被调用

onNewIntent在什么情况下会被调用呢?下面通过自己的例子分析一下

首先创建了两个Activity,分别为MainActivity和IntentActivity,设置MainActivity的模式为单例

android:launchMode="singleTask"

下面对比两个情景来理解调用情况

1,从MainActivity跳转到IntentActivity,在IntentActivity里点击返回按钮回到到MainActivity

IntentActivity返回操作时只执行finish(),下面是生命周期图

可以看到此时是没有执行onNewIntent();


2,从MainActivity跳转到IntentActivity,在IntentActivity里点击返回按钮回到到MainActivity

IntentActivity返回操作时执行跳转再关闭,下面是返回的代码和生命周期图

Intent intent = new Intent();
intent.setClass(IntentActivity.this, MainActivity.class);
startActivity(intent);
finish();


此时是执行了onNewIntent();三个Activity我试过也是执行的。


所以综上所述:无论多少个Activity,只要其中一个设置模式为singleTask,跳转到其他Activity后,其他Activity再Intent跳转到这个Activity都会执行onNewIntent()方法




阅读更多
文章标签: android java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭