使用startActivityForResult(intent, 1); 时, 上级activity的 onActivityResult 总是不能给调用,是何缘故?有人知否?
大概代码
a activity
startActivityForResult(intent, 1)...
onactivityresult(.....)
b activity
setResult(RESULT_OK, new Intent());
finish()
a中的onactivityresult(.....)内简单的log都打不出.,不走这个方法。其他参数都无误。
用的是tabhost
其他流程都是正常走完.
常情况是这样的
this.getCallingActivity()可以打印的
看看你的AndroidManifest.xml是怎么注册这两个activity的,
你确认b在mainfest中注册?activity b 已经启动? setResult(RESULT_OK, new Intent()); 已经触发? finish();后,是否返回a ?是否正确重写onActivityResult();
都仔细检查一遍吧。一步一步的找问题的所在。
在以上条件都完成之后仍不能调用onActivityResult时。
查看一下AndroidManifest.xml文件中跳转到的activity 是否被加了 “launchmode="SingleTask" ”
如果是去掉它。我是这么解决的。
我也遇到这个问题,把“launchmode="SingleTask" ”去掉就解决了。