当前位置:   article > 正文

startActivityForResult方法过时_startactivityforresult 过期

startactivityforresult 过期

使用代码调用系统相机进行拍摄照片发现调用startActivityForResult方法过时

查看竟然被标志为Deprecated

于是带着好奇心去研究一番,既然这个过时了,那要怎么使用原本的startActivityForResult的功能?需要注册一个ForActivityResult:

  1. val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
  2. val startActivity =
  3. registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
  4. //此处进行数据接收
  5. if (it.resultCode == Activity.RESULT_OK) {
  6. //成功数据
  7. }
  8. }
  9. //加载跳转方式
  10. startActivity.launch(intent)

说白了就是将原本启动Activity的方式

  1. val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
  2. startActivityForResult(intent,200)

改成如下模式启动

  1. val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
  2. val startActivity =
  3. registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
  4. //此处进行数据接收(接收回调)
  5. if (it.resultCode == Activity.RESULT_OK) {
  6. //成功数据
  7. }
  8. }
  9. //跳转方式
  10. startActivity.launch(intent)

到这里就差不多了

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

闽ICP备14008679号