美文网首页
调用startActivityForResult后onActiv

调用startActivityForResult后onActiv

作者: Turwe | 来源:发表于2017-02-16 19:06 被阅读243次

需求:

ActivityA中吊起另外一个ActivityB,在ActivityB中做进一步处理,finish之后要拿到相应结果,在ActivityA中做进一步处理。

方案:

ActivityA中调用startActivityForResult(Intent intent, int requestCode)方法,定义requestCode,在onActivityResult(int requestCode, int resultCode, Intent data)根据requestCode来识别对应的回调做处理。

问题:

但是面对这个很简单的需求出了一个问题就是:在ActivityA中调用startActivityForResult(Intent intent, int requestCode)之后onActivityResult(int requestCode, int resultCode, Intent data)方法被立即触发了(是的在ActivityB启动之前),这就和可怕了,我根本就拿不到这个回调啊!

处理:

经排查,如果被启动的Activity的launch modeSingleInstacneSignleTask,且不论是从Activity还是从Fragment启动该Activity都会造成这种情况,所以根据实际情况修改launch mode即可。

相关文章

网友评论

      本文标题:调用startActivityForResult后onActiv

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