当前位置:   article > 正文

startActivityForResult替代方案registerForActivityResult

startactivityforresult替代

startActivityForResult替代方案

在写安卓的时候发现startActivityForResult不能用了,IDE提示已经废弃,于是查到了替代用法registerForActivityResult

使用 registerForActivityResult() 写法,实现 SecondActivity 返回数据给 FirstActivity

之前我们用startActivityForResult:

val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent,0)
//发送为0的request code
  • 1
  • 2
  • 3

现在我们使用registerForActivityResult:

val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
       
        val startActivity =
            registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
                //此处进行数据接收(接收回调)
                if (it.resultCode == Activity.RESULT_OK) {
                     //成功数据
                }
            }
        //跳转方式
        startActivity.launch(intent)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

简单来说,就是使用了一个API,我们要新建一个变量startActivity,并且launch它。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/886500
推荐阅读
相关标签
  

闽ICP备14008679号