博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】关于onActivityResult方法不执行的问题汇总
阅读量:5748 次
发布时间:2019-06-18

本文共 1284 字,大约阅读时间需要 4 分钟。

首先说说本人碰到的于onActivityResult不执行的情况。(网上找了很久都没有人碰到)

1.直接上代码说明

ActivityA的代码:(放在onCreate方法中)

[java] 
 
  1. Intent intent = new Intent(ActivityA.this, ActivityB.class);  
  2.                 Bundle bundle = new Bundle();  
  3.                 bundle.putString("abc", "aaaaaaaaaaa");  
  4.                 intent.putExtra("bundle", bundle);  
  5.                 startActivityForResult(intent,<span style="color:#ff0000;"> RESULT_OK</span>);  

ActivityB的代码:

[java] 
 
  1. Intent intent = getIntent();  
  2.  ActivityB.this.setResult(<span style="color:#ff0000;">RESULT_OK</span>, intent);  
  3. ActivityB.this.finish();  

 

如上代码红色标注单词,如果startActivityForResult此处写得是RESULT_OK(此处的RESULT_OK值为负数),则在finish到ActivityB之后,ActivityA中的onActivityResult方法不会执行。

 

 

 

-----------------------------------------------------------------------------------------------------以下是网上其他人总结的---------------------------------------------------------------------------------------

2.android onActivityResult不执行问题

奇怪问题 startActivityForResult() 后直接调用 onActivityResult()

开发人员都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数。
然而在一次使用中,还没等到被调用的 Activity 返回,onActivityResult() 就被执行了。
找了半于,才得知,这与 Activity 的加载模式(launchMode)有关,该属性可以在 AndroidManifest.xml 中设置。

原先将其设为 launchmode="SingleTask",经测试,所有需要传递或接收的 Activity 不允许设置该属性,或只能设为标准模式,否则系统将在 startActivityForResult() 后直接调用 onActivityResult()。

 

3.是不是用了ActivityGroup啊,我遇到用了ActivityGroup执行不了

转载地址:http://rjhzx.baihongyu.com/

你可能感兴趣的文章
乱炖Git
查看>>
bash 控制任务并发数脚本
查看>>
创建用户,并授权。
查看>>
Python Clean Code简洁代码的9原则
查看>>
【函数】Oracle函数系列(1)--字符函数
查看>>
docker
查看>>
计算机常识
查看>>
Mysql 递归函数
查看>>
打破软件自动化测试的格局
查看>>
《DevOps故障排除:Linux服务器运维最佳实践》读书笔记
查看>>
通过Java代码来模拟乘法器
查看>>
One or more constraints have not been satisfied
查看>>
Tomcat 安装为本地服务启动报错
查看>>
js隐藏或显示某区域
查看>>
Struts上路_04-通配符
查看>>
3.0 usermod 删除用户属性
查看>>
Jenkins
查看>>
shell脚本执行的几种方式
查看>>
RESTful API 设计指南
查看>>
用css伪类:before,:after前后插入线
查看>>