奇怪问题 startActivityForResult() 后直接调用 onActivityResult(),问题一样
我们开发人员都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数。
然而我在项目中,还没等到被调用的 Activity 返回,onActivityResult() 就被执行了。
例如:X_Activity需要Y_Activity的返回值,在我调用X_Activity的startActivityForResult()方法后直接就调用了X_Activity的onActivityResult(),并没有等到Y_Activity的返回值,且也没有返回值。
其实感觉挺容易的一个应用,在网上找了好久,才找到答案,原来跟X_Activity的属性有关,把android:launchMode="singleInstance"这个属性去掉就可以了,即用其默认的标准模式即可。
上面是别人的问题
我的问题是,我的activity是标准模式,但是还是存在上述问题。
仔细检查,发现我的intent加了Intent.FLAG_ACTIVITY_NEW_TASK属性,试着去掉就可以了。姑且记下来,原因等有时间了再作研究。