@Deprecated public void startActivityForResult(@SuppressLint({"UnknownNullness"}) Intent intent, int requestCode) { super.startActivityForResult(intent, requestCode); } @Deprecated public void startActivityForResult(@SuppressLint({"UnknownNullness"}) Intent intent, int requestCode, @Nullable Bundle options) { super.startActivityForResult(intent, requestCode, options); }
so 如下修改
public abstract class ResultContract extends ActivityResultContract{ @NonNull @Override public Intent createIntent(@NonNull Context context, Bundle bundle) { return getIntent(bundle); } @Override public Intent parseResult(int i, @Nullable Intent intent) { return intent; } protected abstract Intent getIntent(Bundle bundle); }
activity中调用如下
ActivityResultLauncherlauncher = registerForActivityResult(new ResultContract() { @Override protected Intent getIntent(Bundle bundle) { Intent intent = new Intent(baseActivity.this, MainActivity.class); intent.putExtras(bundle); return intent; } }, new ActivityResultCallback () { @Override public void onActivityResult(Intent result) { } });
启动activity中 setResult 照常
setResult(RESULT_OK, intent)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)