onNewIntent 用法
2013-05-03 15:14
239 查看
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已经不在栈顶,不会被重用;
而另外一些博客和我自己测试的情况是必须将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已经不在栈顶,不会被重用;
相关文章推荐
- onNewIntent()用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- 【Android】联想到onNewIntent()在手机QQ上的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- onNewIntent()用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法)
- 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法)
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Activity启动之SingleTask------onNewIntent的用法及原理
- onNewIntent用法
- android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- Android 监听home键(android:launchMode="singleTask" 与 onNewIntent(Intent intent) 的用法
- android onNewIntent 的用法
- onNewIntent()用法
- OnNewIntent的调用时机