美文网首页
多个 Activity 传递 result

多个 Activity 传递 result

作者: sunrain_ | 来源:发表于2019-03-21 23:12 被阅读0次

问题场景:

三个 Activity,A startActivityForResult 启动 B,B startActivity 启动 C 然后 finish(),C setResult finish() 后,A 无法获得返回的 result.
如下图:


解决方法:

B 启动 C 时,添加Intent.FLAG_ACTIVITY_FORWARD_RESULTFlag.
这样当 C setResult finish() 后,就可以触发 A 的onActivityResult回调了。

Intent intentC = new Intent(..., CActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(intent);
finish();

需要注意的是Intent.FLAG_ACTIVITY_FORWARD_RESULT不能和startActivityForResult同时使用。

相关文章

网友评论

      本文标题:多个 Activity 传递 result

      本文链接:https://www.haomeiwen.com/subject/eduijqtx.html