解决这个问题的方法是使用 startActivityForResult() 方法在启动活动时,并在你想要跳转回来的地方使用 setResult() 方法。然后在当前活动中通过 onActivityResult() 方法接收返回的结果。
示例如下:
在启动第二个活动时,调用 startActivityForResult() 方法:
Intent intent = new Intent(this, SecondActivity.class); startActivityForResult(intent, 1);
在第二个活动中,当你希望返回结果时使用 setResult() 方法:
Intent intent = new Intent(); intent.putExtra("result", "这是返回的结果"); setResult(RESULT_OK, intent); finish();
在当前活动中,通过 onActivityResult() 方法获取返回的结果:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode == 1 && resultCode == RESULT_OK) { String result = data.getStringExtra("result"); // 在这里进行处理返回的结果 } }