startActivityForResult被弃用

startActivityForResult被弃用,第1张

startActivityForResult被弃用
    
    @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中调用如下

    
     ActivityResultLauncher launcher = 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)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676975.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存