Android中setResult()和LaunchMode的关系
来源:互联网 发布:太上老君 实力 知乎 编辑:程序博客网 时间:2024/05/17 06:54
开发时有这个需求:
设两个Activity A 和Activity B,B的LaunchMode设置为singleTask,A通过调用startActivityForResult()向B传送数据,B收到数据经过处理后将数据放入Intent使用setResult(resultcode,inten)返回。
结果出现这个问题:
在Activity A的onActivityResult(int requestCode, int resultCode, Intent data) 中获取数据时,Intent为空,无法获取数据。
查找原因:
Activity B中,setResult()的时机和LaunchMode的设置有关系。不同的模式下onActivityResult()方法的调用时机不同。
Android的Activity有四种启动模式,分别是standard、singleTop、singleTask、singleInstance。
经测试验证:在standard、singleTop两个模式下,onActivityResult()方法会在当前的Activity结束掉之后被调用,而在singleTask、singleInstance两个模式下,onActivityResult方法会立即调用,等到再setResult的时候,就不再起作用了,所以发现Intent中的数据为空。即:setResult方法与onActivityResult方法不是同步的导致了这个问题。
0 0
- Android中setResult()和LaunchMode的关系
- Android中onActivityResult和setResult方法的使用
- android task栈和activity的关系(Task/launchMode)
- Android 中 startActivityForResult和setResult详解
- android中setResult的调用时机
- Android startActivityForResult 和 setResult的使用
- Android startActivityForResult和setResult
- Android LaunchMode 和ams的关系的分析和实现和讲解总结
- android中对launchMode和task的理解
- Android的Activity的launchMode与onActivityResult方法的关系
- Android的Activity的launchMode与onActivityResult方法的关系
- Android的Activity的launchMode与onActivityResult方法的关系
- Android的Activity的launchMode与onActivityResult方法的关系
- Android的Activity的launchMode与onActivityResult方法的关系
- Android的Activity的launchMode与onActivityResult方法的关系
- Android的Activity的launchMode与onActivityResult方法的关系
- Android中的onActivityResult和setResult
- android中Activity的四种launchMode
- Linux 目录结构
- Oracle常用查询语句
- 程序员面试金典——双栈排序
- Leetcode 207(Java)
- 网址导航[IT]
- Android中setResult()和LaunchMode的关系
- Linux下USB CDC ACM 驱动简析,加载到内核
- 深度学习——致命问题之Gradient Vanish
- Java线程:线程的同步-同步块
- 适合程序员的画图技法
- 常用makefile格式
- 分布式事务
- adaboost训练——弱分类器训练的opencv源码详解 (2)
- jquery中ajax跨域设置http header