(转)利用onNewIntent避免Activity之间的跳转传值多次实体化
2017-04-12 11:41
267 查看
原地址:http://www.cnblogs.com/fuyouG/p/fuyou-G-entryName.html
onNewIntent
需要注意的是:
1、通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统也会创建一个新的Activity实例。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置启动方式。
2、launchMode为singleTask的时候,通过Intent跳到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候----------系统就不会再调用onCreate方法,而是调用onNewIntent方法。
能用到的地方是A-->B-->C-->A,此时onActivityResult就有些复杂了。 例如:
1、点击 设置密码(A),跳到 设置密码页面(B),输入密码;
2、点击完成 跳到 确定密码页面(C),输入密码,设置成功后返回到设置页面(A)并带回一个状态,此时(A)中的“设置密码”变成“修改密码”;
3、用户设置过密码后,此页面就变成了“修改密码”的选项
4、C跳到A,这个A我们要用以前栈中已有的,不能再去新建一个A的实例,所以需要在AndroidManifest.xml配置activity的启动方式以实现单任务模式。每步的跳转中,我们不能finish掉上一步Activity,否则按返回键时,用户体验不好。。。。这时就需要onNewIntent了。当然这只是我的一个思路。
首先在AndroidManifest.xml配置activity的启动方式以实现单任务模式
先看第二个SecondActivity,它需要把值传到FirstActivity。
再来看FirstActivity
此时没有走onCreate方法,但是为了以防万一,最好在onCreate方法里也写上操作,因为后台运行的Activity可能在内存过高时被系统杀掉,这时就会走onCreate方法。
onNewIntent
需要注意的是:
1、通过Intent启到一个Activity的时候,就算已经存在一个相同的正在运行的Activity,系统也会创建一个新的Activity实例。为了不让Activity实例化多次,我们需要通过在AndroidManifest.xml配置启动方式。
2、launchMode为singleTask的时候,通过Intent跳到一个Activity,如果系统已经存在一个实例,系统就会将请求发送到这个实例上,但这个时候----------系统就不会再调用onCreate方法,而是调用onNewIntent方法。
能用到的地方是A-->B-->C-->A,此时onActivityResult就有些复杂了。 例如:
1、点击 设置密码(A),跳到 设置密码页面(B),输入密码;
2、点击完成 跳到 确定密码页面(C),输入密码,设置成功后返回到设置页面(A)并带回一个状态,此时(A)中的“设置密码”变成“修改密码”;
3、用户设置过密码后,此页面就变成了“修改密码”的选项
4、C跳到A,这个A我们要用以前栈中已有的,不能再去新建一个A的实例,所以需要在AndroidManifest.xml配置activity的启动方式以实现单任务模式。每步的跳转中,我们不能finish掉上一步Activity,否则按返回键时,用户体验不好。。。。这时就需要onNewIntent了。当然这只是我的一个思路。
首先在AndroidManifest.xml配置activity的启动方式以实现单任务模式
先看第二个SecondActivity,它需要把值传到FirstActivity。
再来看FirstActivity
此时没有走onCreate方法,但是为了以防万一,最好在onCreate方法里也写上操作,因为后台运行的Activity可能在内存过高时被系统杀掉,这时就会走onCreate方法。
相关文章推荐
- 利用onNewIntent避免Activity之间的跳转传值多次实体化
- 利用onNewIntent避免Activity之间的跳转传值多次实体化
- 利用onNewIntent避免Activity之间的跳转传值多次实体化
- Activity详解 Intent显式跳转和隐式跳转, 及多个Activity之间传值 总结
- 使用Intent实现Activity之间传值与跳转(转)
- activity之间的跳转以及传值
- Android开发 两个Activity之间通过Intent跳转传值
- android学习笔记之-利用Intent在多个Activity之间跳转
- Android Activity之间跳转与传值
- Android Activity之间跳转与传值
- Android Activity之间跳转与传值
- Activity详解 Intent显式跳转和隐式跳转, 及多个Activity之间传值 总结
- 使用Intent实现Activity之间传值与跳转
- 安卓--使用Intent实现Activity之间传值与跳转
- 利用Intent实现多个Activity之间的跳转
- 安卓开发之如何利用Intent对象,实现Activity和另一个Activity之间的跳转
- Android Intent实现Activity之间跳转并传值
- Android Intent实现Activity之间跳转并传值
- Android Activity之间跳转与传值
- Activity之间跳转与传值