最近遇到的一个问题跟大家分享一下:
我写了三个activity A B C,即A->B->C->B->A这样一个逻辑顺序,由于在C-B的时候,B之前填入的内容没有了,所以我把B设置为android:launchMode=“singleTask”了,B->A的时候,发现在A里面写入的onActivityResult方法不执行,特别奇怪,调试了好久,后来在网上找了下,会有很多种情况导致onActivityResult方法不执行,因此我把:launchMode设置为singleTop了,就可以了。这个launchMode的用法确实得注意,上一篇用法就是关于launchMode,下面总结一下onActivityResult方法不执行的几种情况:
1.你的Activity被finish()掉了,看看你的Activity有没有在哪里finish()掉。
2.startActivityForResult(intent, -1)函数,第二个参数小于0,应该要大于0
3.启动模式为android:launchMode=”singleTask”和android:launchMode=”singleInstance”都会导致无效,修改为默认的android:launchMode=”standard”