onNewIntent 用法
onNewIntent的用法很奇怪,API提供的解释是说必须将launchMode设置为singleTop才会调用它,而不去重新生成其对应Activity实例。
而另外一些博客和我自己测试的情况是必须将launchMode设置为singleTask,才会直接调用onNewIntent(不再重新生成Activity);而是用singleTop则会调用onCreate方法重新生成了Activity实例。
我测试的方法是:
1、将一个Activity A启动模式设置为singleTask
2、启动A
3、按HOME键回到桌面
4、启动Activity B
5、在B中是用间接调用 A
结论:launchMode 为singlTop时回调用onCreate,为singleTask时调用onNewIntent。
猜测 onNewIntent 会在一个Activiy被重用(第N>1次进入)时调用。luanchMode为singleTop不会调用onNewIntent,可能是A已经不在栈顶,不会被重用;