Android:startActivityForResult废弃,使用registerForActivityResult

原startActivityForResult:

Intent intent = new Intent(this, SettingsActivity.class);
startActivityForResult(intent,1000);//该方法已废弃

接收回调:

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK && requestCode == 1000) {
        updateSettings();
    }
}

新registerForActivityResult:

Intent intent = new Intent(this, SettingsActivity.class);
ActivityResultLauncher<Intent> launcher = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        result -> {
            if(result.getResultCode() == RESULT_OK){
                updateSettings();
            }
        });
launcher.launch(intent);

猜你喜欢

转载自blog.csdn.net/qq_35584878/article/details/129990922