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() 就被执行了。 找了半
关于vivo等部分机型onActivityResult不执行问题
今天测试又提了个bug,说vivo X5SL(Android4.4)手机选择相册图片点完成直接返回上一页,而不走图片上传方法。跟debug发现是onActivityResult方法没有执行,百度一下直接找到原因,这与Android的launchMode有关。原先将其设为 launchMode=”singleTask”,经测试,所有需要传递或接收的 Activity 不允许设置该属性,或只能设为标准模
Android的Fragment中onActivityResult不被调用的最终解决方案
摘自:http://www.myexception.cn/android/1908553.html Fragment中的onActivityResult不被调用,有几种情况,请大家一一排查。   1.检查该Fragment所属的Activity中,是否重写了onActivityResult方法。 如果是该种情况,请确保写了super.onActivityResu
Android开发关于onActivityResult()的执行时间问题
当我们调用startActivityForResult()方法来跳转页面的时候需要重写onActivityResult方法,不然就和startActivity没什么两样,本文说明onActivityResult方法会在什么时候回被触发。这里我们用一段小程序来说明public class MainActivity extends Activity { @Override protected v
Android调用系统的裁剪后,无法响应onActivityResult()
我的问题是在乐视1s上面,很奇怪的有的图片可以,有的就是不可以,debug很久以为是intent里面的参数变量不一样了,最后debug到没有调用哦你ActivityResult(),搜到大神的一篇文章,解决了,记录下来以便温故而知新。 转载自:http://blog.csdn.net/eclothy/article/details/42719217 选择相册图片(或调用Me
华为手机onActivityResult()方法不执行问题
华为手机onActivityResult()方法不执行,debug的时候发现由ActivityA启动到ActivityB时竟然执行了A中的onActivityResult,返回时没有执行,查资料发现是因为ActivityA启动模式为singleTask导致的,删掉即可。
安卓开发没有关闭界面就调用了onActivityResult方法?onActivityResult方法Intent-data总是null
开发是遇到一个问题,在一个Activity的启动模式是单一实例的时候(AndroidManifest.xml中对Activity的launchMode设置),这样设置的话,会在调用startactivityforresult方法后直接调用onActivityResult方法里边的东西,自然你的intent也就没有了,是null的了,都没有返回。  最后附上Activity页面跳转时候的方法调用
Android调用系统相机onActivityResult返回参数data为null
一般调用系统相机的代码: filePath = ImageUtil.getCacheFilePath(this, StaticValue.PHOTO_PROTOCOL_ENTRUST); File file = new File(filePath); Intent intentFromCapture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Android的Fragment中onActivityResult不被调用的解决方案(绝对管用)
常见的,我们会在FragmentActivity中嵌套一层Fragment使用,甚至Fragment下层层嵌套使用。这个时候,在第二级或者更深级别的Fragment将无法收到onActivityResult回调,这是一个绝对管用的解决方案
android 调用系统相机或者系统相册功能时,onActivityResult方法不执行问题的解决过程
我的情况:我自定义了一个Activity继承自FragementActivity,在里边使用一下代码 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent,4050); 启动系统相机功能。但是,当返回当前Activity时,系统并没有调用onActiv