一、发起页面跳转时:
Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivityForResult(intent, 1);
二、被调用页面:
Intent intent = new Intent(); intent.putExtra("data_return", "Hello MainActivity"); setResult(RESULT_OK, intent); finish();
三、发起调用页面需要再获取数据:
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { switch (requestCode){ case 1: if(resultCode == RESULT_OK){ String returnedData = data.getStringExtra("data_return"); Toast.makeText(this, returnedData, Toast.LENGTH_SHORT).show(); } break; default: } }
四、可以通过重写被调用页面的onBackPressed()方法,使页面在通过返回键返回时也能回传数据:
@Override public void onBackPressed() { Intent intent = new Intent(); intent.putExtra("data_return", "Hello MainActivity"); setResult(RESULT_OK, intent); finish(); }
原文:https://www.cnblogs.com/xxie12/p/11477743.html