情况1
呃,被坑了几个小时,后来发现,在调用setResult的时候,requestCode随便传了个Activity的RESULT_OK,而这个常量的值是-1,导致onActivityResult没有被调用。
握了棵草啊。。。
看看文档:requestCode If >= 0, this code will be returned in onActivityResult() when the activity exits.
所以,但你们的setResult无效时,看看你传的requestCode是不是小于0吧
情况2
如果不是情况1,而是setResult在onPuase/onStop等地方设置,解决方案是
//重写onBackPressed public void onBackPressed(){ setResult(); super.onBackPressed(); }