onActivityResult方法中返回码resultCode始终为RESULT_CANCEL(0)的问题排查

首先

1级页面

startActivityForResult(intent,requestCode)

2级页面

setResult(RESULT_OK,intent)

确保上述跳转和返回的两个事件没有问题

其次

在app目录下的AndroidManifest.xml中检查调用startActivityForResult的Activity是不是定义了singleTask或singleInstance的启动模式:

 <activity
       android:name=".FirstActivity"
       android:label="this is first activity"
       android:launchMode="singleInstance">
        ...
</activity>

这种情况将启动模式改为standard或singleTop。

最后

如果上述情况都没有问题,恰好你又是在监听二级页面的返回事件(onBackPressed())中添加的返回参数

把super.onBackPressed();方法放在代码块最后,所有监听逻辑跑完了再执行super.onBackPressed(),或者直接把super.onBackPressed()替换为finish()放在最后,销毁活动。

如果都不行的话,那我也不知道...

原文地址:https://www.cnblogs.com/ksxxx/p/13086919.html