2 iceman lj iceman_lj 于 2013.12.02 14:15 提问

android 调用第三方apk setResult回来intent为null

有2个程序互相调用,A程序通过发intent,使用startActivityForResult()方法, 调用B程序,B程序启动后做了一些自己的事,其中会切换很多activity 显示B自己的UI, 现在我在B处理完逻辑后,通过发intent或者handler的方式把参数传回给B程序的主入口activity, 再通过此activity调用setResult()方法返回给A程序,现在发现A程序的onActivityResult()接收的intent为null,请问这是怎么回事?

PS,如果在A调用B之后, 在B的onCreate()方法里直接setResult()回来,A是可以拿到参数的,但是在B程序中运行了一圈回来再回传给A就拿不到参数了。

有没有大神能说下原因。

1个回答

songzhiyong1121
songzhiyong1121   2013.12.02 14:51
已采纳

运行了一圈回来,回来的还是之前的Activity吗?还是重新启动的,要保证是之前startActivityForResult()启动的Activity才可以

songzhiyong1121
songzhiyong1121 那就不知道了,没看具体代码,只能猜测一下,抱歉没能帮上你的忙
接近 4 年之前 回复
iceman_lj
iceman_lj 是singleTop
接近 4 年之前 回复
songzhiyong1121
songzhiyong1121 如果是singleInstance或者singleTask,你会马上得到结果,data为null ,requestCode是正确的,resultCode是0;根本不用B调用setResult
接近 4 年之前 回复
songzhiyong1121
songzhiyong1121 那你启动B的Activity(调startActivityForResult()方法的Activity)的启动模式是什么?
接近 4 年之前 回复
iceman_lj
iceman_lj 发现onActivityResult() 接收的参数里 requestCode是正确的 resultCode是0
接近 4 年之前 回复
iceman_lj
iceman_lj 我之前也怀疑这个,后来打出log看到activity的地址是一样。
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片