在测试项目时发现一个问题,具体描述如下:
A 中调用了 startActivityForResult 启动 B,B 还未 finish 返回数据,A中的 onActivityResult 事件就立刻执行了。
分析问题
经过多方查找,终于定位在如下:
在 AndroidManifest.xml 文件中,若 Activity A 配置 android:launchMode="singleInstance" ,则会出现此问题。
当初是为了解决点击通知栏 notification 跳转到 Activity 时重复创建 Activity 实例的问题, 结果现在出了个坑。
解决问题
A、B 的配置改为 android:launchMode="standard" 即可。