今天遇到一个问题就是情形如下:
在一个Activity A里面使用startActivityForResult启动另一个Activity B
startActivityForResult(mapIntent, ConstantsUtils.TOMAP_REQUEST_CODE);
然后在Activity A中实现onActivityResult方法
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
switch (requestCode) {
case ConstantsUtils.TOMAP_REQUEST_CODE:
if (resultCode == ConstantsUtils.SUCCESS_RETURN_CODE) {
//do some stuff
}
}
}
然后在Activity B中使用setResult(Activity.RESULT_OK),但是结果onActivityResult中得到的resultCode总是为0,最后在stackoverflow中找到了答案,在此记录一下,原因是我在manifest文件中将Activity B的launchMode设置为了 singleTask,把它去掉就可以了。具体讨论如下:
链接:startActivityForResult always return resultCode 0
欢迎关注我的公众号:DroidMind
精品内容,独家发布