首页 > 解决方案 > startUpdateFlowForResult 的 onActivityResult 替代方案

问题描述

在 InAppUpdates 中获取 startUpdateFlowForResult 的回调而不是 onActivityResult 的替代方法是什么,因为它已被弃用?

标签: androidandroid-studioonactivityresultin-app-update

解决方案


您可以使用以下代码片段替代 onActivityResult() First Activity

步骤1

 private val openActivity =
    registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
        handleActivityResult(REQUEST_CODE, it)
    }

第2步

openActivity.launch(
            Intent(this, YourClass::class.java).apply {
                  putExtra(ANY_KEY, data) // If any data you want to pass 
            }
        )

第 3 步

 private fun handleActivityResult(requestCode: Int, result: ActivityResult?) {
        Timber.e("========***handleActivityResult==requestActivty==$requestCode====resultCode=========${result?.resultCode}")
        if (requestCode == REQUEST_CODE) {
            when (result?.resultCode) {
                Activity.RESULT_OK -> {
                val intent =   result.data // received any data from another avtivity
                }
                Activity.RESULT_CANCELED->{
                  
                }
            }
        }
    }

在二等

val intent = Intent()
intent.putExtra(ANY_KEY, data)
setResult(Activity.RESULT_OK, intent)
finish()


    

推荐阅读