赞
踩
使用代码调用系统相机进行拍摄照片发现调用startActivityForResult方法过时
查看竟然被标志为Deprecated
于是带着好奇心去研究一番,既然这个过时了,那要怎么使用原本的startActivityForResult的功能?需要注册一个ForActivityResult:
- val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
-
- val startActivity =
- registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
- //此处进行数据接收
- if (it.resultCode == Activity.RESULT_OK) {
- //成功数据
- }
- }
- //加载跳转方式
- startActivity.launch(intent)
说白了就是将原本启动Activity的方式
- val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
- startActivityForResult(intent,200)
改成如下模式启动
- val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
-
- val startActivity =
- registerForActivityResult(ActivityResultContracts.StartActivityForResult()) {
- //此处进行数据接收(接收回调)
- if (it.resultCode == Activity.RESULT_OK) {
- //成功数据
- }
- }
- //跳转方式
- startActivity.launch(intent)
到这里就差不多了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。