2 qq 38813780 qq_38813780 于 2018.04.16 22:41 提问

安卓onActivityResult未被调用问题

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode== Activity.RESULT_OK) {
if (requestCode == 1 ||requestCode == 2) {
Toast.makeText(this,"成功返回",Toast.LENGTH_SHORT);
System.out.println(" 成功返回 ");
图片说明

                            两个acticity如图  但最后跳转后却没有值
                            ![图片说明](https://img-ask.csdn.net/upload/201804/16/1523889663_393023.png)

6个回答

qq_36629929
qq_36629929   2018.04.17 10:00
已采纳

假设你需要A页面跳转到B页面,B页面执行后将结果返回到A页面。A页面startActivityForResult(intent, 0),再重写onActivityResult接受来自B页面的数据,
B页面调用setResult(RESULT_OK, intent); finish(); 后返回数据,setResult()在源码中是在调用finish()之前才被调用的,所以一定要调用finfish();**

devmiao
devmiao   Ds   Rxr 2018.04.16 23:49
z979451341
z979451341   Rxr 2018.04.17 08:51

Activity A使用startActivityForResult进行跳转到Activity B, Activity B执行了setResult ,但是这个不会立刻回调到Activity A的onActivityResult,只有Activity B被销毁了才会

j7a2son
j7a2son   2018.04.17 09:47

兄弟,界面A跳到,在A中写startActivityforResult(),在B中结束逻辑业务后写setResult(),你的项目结构怎么都写一个文件夹,初学?

weixin_40951087
weixin_40951087   2018.04.17 15:47

A--->B startActivityForRespult(intent,code)
B--->A setResoult(RESULT_OK) inish();

Naide_S
Naide_S   2018.04.21 10:02

AActivity--->startActivityForRespult(intent,code) ----- to---->BActivity
BActivity ---->setResoult(RESULT_OK) ---->BActivity.finish()----->to---->AActivity
AActivity---->onActivityResult----->code 获取数据

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android的onActivityResult不被调用的解决方案
方案一: 现象: startActivityForResult() 后直接调用 onActivityResult()。 开发人员都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数。 然而在一次使用中,还没等到被调用的 Activity 返回,onActivityResult() 就被执行了。 找了半
onActivityResult()没被调用的原因
<br />开始我的程序是这样<br /> <br /><br />Intent intent=new Intent(ExamineListActivity.this, ViewActivity.class);<br />intent.putExtra("msg", body);<br />intent.putExtra("postion", arg2);<br />intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);<br />startActivityForRe
Android的Fragment中onActivityResult不被调用的最终解决方案
摘自:http://www.myexception.cn/android/1908553.html Fragment中的onActivityResult不被调用,有几种情况,请大家一一排查。   1.检查该Fragment所属的Activity中,是否重写了onActivityResult方法。 如果是该种情况,请确保写了super.onActivityResu
Android的Fragment中onActivityResult不被调用的解决方案(绝对管用)
常见的,我们会在FragmentActivity中嵌套一层Fragment使用,甚至Fragment下层层嵌套使用。这个时候,在第二级或者更深级别的Fragment将无法收到onActivityResult回调,这是一个绝对管用的解决方案
Android Activity 中 onActivityResult() 与 setResult()
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这样的数据交流就要用到回调函数onActivityResult。 startActivityForResult(Intent intent, int requestCode); 第一个参数:一个I
Android调用系统的裁剪后,无法响应onActivityResult()
我的问题是在乐视1s上面,很奇怪的有的图片可以,有的就是不可以,debug很久以为是intent里面的参数变量不一样了,最后debug到没有调用哦你ActivityResult(),搜到大神的一篇文章,解决了,记录下来以便温故而知新。 转载自:http://blog.csdn.net/eclothy/article/details/42719217 选择相册图片(或调用Me
完美解决Android中onActivityResult提前执行调用的一系列问题
这是原本要启动的AddressActivityint requestCode = 200; Intent intent = new Intent(this,AddressActivity.class); startActivityForResult(intent,requestCode);AddressActivity回传携带的数据Intent mIntent = new Intent(); mIn
Android调用相机无法执行onActivityResult或data为null
最近项目中调用系统相机时遇到了这么个问题:红米手机无法执行onActivityResult回调,部分华为手机无法获取到照片数据,最后各种分析,各种网上搜索资料折腾了好久,最后终于把问题解决,当看到问题的最终原因时,我也是醉了,简直就是坑爹坑大发了。 最开始用红米手机调用系统相机的时,当我拍照完成点击那个勾勾始终无法返回到前面的界面上,也就是无法调用onActivityResult函数取到拍照
Android onActivityResult()不执行的几个原因
Android onActivityResult startActivityForResult
Android中的onActivityResult和setResult方法的使用
如果你想在Activity中得到新打开Activity 关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent intent,int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity 传回数据,为了得到传回的数据,你必须在前面的Activity中重写onActivityResult(int