起始activity
// 注册监听
ActivityResultLauncher<Intent> intentActivityResultLauncher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>() {
@Override
public void onActivityResult(ActivityResult result) {
//此处是跳转的result回调方法
Log.d(TAG, "onActivityResult");
if (result.getData() != null && result.getResultCode() == Activity.RESULT_OK) {
// 数据在此处理
endfloor = result.getData().getStringExtra("targetFloor").toUpperCase();
Log.d(TAG, "onActivityResult endfloor:"+endfloor);
}
} else {
Toast.makeText(IpttActivity.this, "配置数据返回失败", Toast.LENGTH_SHORT).show();
}
}
});
// 启动另一个activity并发送数据
Intent intent = new Intent(this, ConfActivity.class);
intent.putExtra("endLatitude", endLatitude);
intent.putExtra("endLongitude", endLongitude);
intent.putExtra("endPoi", endPoi);
intentActivityResultLauncher.launch(intent);
另一个activity,在某个按钮点击之后直接返回上个actvity并回送数据
@Override
public void onClick(View v) {
mTargetFloor = "mTargetFloor";
setResult(Activity.RESULT_OK, new Intent().putExtra("targetFloor", mTargetFloor));
finish();
}