android中onNewIntent的简单说明
来源:互联网 发布:程序员学ui 编辑:程序博客网 时间:2024/06/15 06:30
转自:http://blog.csdn.net/tyj1982/article/details/6848879
在Android应用程序开发的时候,从一个Activity启动另一个Activity并传递一些数据到新的Activity上非常简单,但是当您需要让后台运行的Activity回到前台并传递一些数据可能就会存在一点点小问题。
首先,在默认情况下,当您通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统都会创建一个新的Activity实例并显示出来。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置activity的加载方式(launchMode)以实现单任务模式,如下所示:
<activity android:label="@string/app_name" android:launchmode="singleTask"android:name="Activity1"></activity>
launchMode为singleTask的时候,通过Intent启到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候,系统就不会再调用通常情况下我们处理请求数据的onCreate方法,而是调用onNewIntent方法,如下所示:
protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent);//must store the new intent unless getIntent() will return the old one processExtraData(); }
不要忘记,系统可能会随时杀掉后台运行的Activity,如果这一切发生,那么系统就会调用onCreate方法,而不调用onNewIntent方法,一个好的解决方法就是在onCreate和onNewIntent方法中调用同一个处理数据的方法,如下所示:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); processExtraData(); } protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent);//must store the new intent unless getIntent() will return the old one processExtraData() } private void processExtraData(){ Intent intent = getIntent(); //use the data received here }
0 0
- android中onNewIntent的简单说明
- android onNewIntent()方法及说明
- Android onNewIntent的应用
- Android onNewIntent的应用
- Android onNewIntent的应用
- android的onNewIntent
- Android:onNewIntent的使用
- onNewIntent的应用 android
- android onNewIntent 的用法
- Android中adapter的原理简单说明
- Android中Activity.onNewIntent(Intent intent) 的用法
- Android:onNewIntent的调用时机
- android onNewIntent的调用时机
- Activity中onNewIntent的使用
- android onNewIntent
- android onNewIntent
- android onNewIntent
- android onNewIntent
- jquery validate 使用手册
- Spring MVC文件上传
- 进程间通信——使用WM_COPYDATA消息通信
- Android---- 获取当前应用的版本号和当前android系统的版本号
- java:常用的集合类
- android中onNewIntent的简单说明
- ext2、ext3与ext4的区别
- oracle enterprise linux 7下安装mysql 5.6
- 安装oracle11g碰到“无法访问临时位置”的问题,
- Convolutional Neural Networks for Visual Recognition 7
- rocketmq的store目录下面可以删除的东西
- android 开源项目
- 构造函数的一点点认识
- Android中apk动态加载技术研究(2)android插件化及实现