startActivityForResult(intent,3021)
Run Code Online (Sandbox Code Playgroud)
我用了很长时间了,现在不推荐使用这种方法了吗?
它确实已被弃用。我试图找出新的出路,并认为我会在这里分享。
现在,不是覆盖onActivityResult所有回调并检查我们的请求代码,我们可以通过使用registerForActivityResultwhich来分别注册每个回调ActivityResultContracts。IMO 这是一种比以前更好的方法。
以下是为结果启动活动的示例:
val previewRequest =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
if (it.resultCode == RESULT_OK) {
val list = it.data
// do whatever with the data in the callback
}
}
Run Code Online (Sandbox Code Playgroud)
现在代替StartActivityForResult我们使用
val intent = Intent(this, PreviewFullscreenActivity::class.java)
intent.putStringArrayListExtra(AppConstants.PARAMS.IMAGE_URIS, list)
previewRequest.launch(intent)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7625 次 |
| 最近记录: |