startActivity构成的Activity链中间断掉会如何?
来源:互联网 发布:江西省软件行业办 编辑:程序博客网 时间:2024/05/14 18:01
不断调用Activity.startActivityForResult()
,这样会构成一个Activity启动链条,当页面一层层返回时,Activity.onActivityResult()
会被调用到。
但是,如果链条中的一个Activity提前关闭了,那会发生什么效果呢?提前关闭的Activity还能不能收到onActivityResult()
呢?提前关闭的Activity之前的Activity还能不能收到onActivityResult()
呢?
Activity的launchMode
没有定义,为standard
模式,启动Intent中也没有加入特殊的FLAG,最普通的启动方式。
一层层打开,在一层层关闭,log如下。
I/TAG: onCreate current level : 1I/TAG: onCreate current level : 2I/TAG: onCreate current level : 3I/TAG: onCreate current level : 4I/TAG: onActivityResult current level :3; data from level 4I/TAG: onActivityResult current level :2; data from level 3I/TAG: onActivityResult current level :1; data from level 2
在第二个页面,打开下一个页面,并关闭当前页面,之后一层层返回,效果如下。
I/TAG: onCreate current level : 1I/TAG: onCreate current level : 2I/TAG: onCreate current level : 3I/TAG: onActivityResult current level :1; data from level 2
第二个页面提前关闭了,所以在第三个页面关闭时,它是收不到 onActivityResult
的。
第三页面关闭时回到了第一个页面,第一个页面时可以收到onActivityResult
的,参数中的数据是第二个页面关闭时setResult()
的数据。
0 0
- startActivity构成的Activity链中间断掉会如何?
- Activity的启动过程--startActivity()
- 字符串中间断掉连接方法
- Activity的构成
- activity的startActivity和context的startActivity区别
- activity的启动模式,startactivity的过程
- startActivity()去打开一个已存在的Activity,如何让它重新执行创建一次呢?
- 非Activity中使用startActivity的问题
- Activity间的跳转,startActivity与startActivityForResult
- 源码分析Activity的构成
- 关于Activity的getReferrer()之二:调用者的包名是如何传给mReferrer的,兼谈startActivity的详细流程
- activity FLAG_ACTIVITY_REORDER_TO_FRONT 无法startActivity
- Activity之startActivity&finishActivity
- Activity.startActivity源码分析
- Kotlin activity跳转-startActivity
- 从setContentView看Activity的构成
- 如何找到链表的中间元素?
- Activity跳转,startActivity和startActivityForResult之间的区别
- 浏览器缓存-控制刷新-cdn问题
- 【SPOJ-DYNACON1】Dynamic Tree Connectivity【LCT/并查集】
- SAM
- 三个启蒙寓言解读大企业的内部创业困局
- C++11 右值引用
- startActivity构成的Activity链中间断掉会如何?
- 使用MPFR总结
- “知天命”是什么意思?
- 【bzoj3172】[Tjoi2013]单词 AC自动机+fail树
- PAT-1021 个位数统计
- 使用线程进行网络图片下载(一)
- C#之构造方法
- POJ - 1002 487-3279
- RecyclerView详解 —— 自定义动画