当前位置: 首页 > news >正文

Android13-图片视频选择器

在compileSDK = 33 时,谷歌在安卓新增了 图片选择器 功能,支持单选、多选、选图片、视频等操作,并且不需要额外获取照片/音频权限。

具体实现如下:

1:请求

        Log.d(TAG, "Build.VERSION.SDK_INT" + Build.VERSION.SDK_INT);if (Build.VERSION.SDK_INT >= 33) {//图片选择器单选
//            Intent intent = new Intent(MediaStore.ACTION_PICK_IMAGES);
//           在complieSDK32已废弃
//            startActivityForResult(intent,  PHOTO_PICKER_REQUEST_CODE);//图片选择器多选final int maxNumPhotosAndVideos = 3;Intent intent = new Intent(MediaStore.ACTION_PICK_IMAGES);
//            intent.setType("video/*");//仅选择视频intent.setType("image/*");//仅选择图片intent.putExtra(MediaStore.EXTRA_PICK_IMAGES_MAX, maxNumPhotosAndVideos);launcher.launch(intent);} else {//我们需要自己开发}

2:响应

2.1单选:

    @Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (resultCode == RESULT_OK) {if (requestCode == PHOTO_PICKER_REQUEST_CODE) {Uri currentUri = null;if (data != null) {currentUri = data.getData();binding.image.setImageURI(currentUri);}Log.d(TAG, "currentUri:" + currentUri);}}}

2.2多选:

        launcher = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),new ActivityResultCallback<ActivityResult>() {@Overridepublic void onActivityResult(ActivityResult result) {if (result != null) {if (result.getData() != null && result.getResultCode() == RESULT_OK) {Intent intent = result.getData();for (int i = 0; i < intent.getClipData().getItemCount(); i++) {Uri uri = intent.getClipData().getItemAt(i).getUri();Log.d(TAG, "multiple current Uri:" + uri);// Do stuff with each photo/video URI.}}}}});

http://www.lryc.cn/news/168663.html

相关文章:

  • 【问题处理】GIT合并解决冲突后,导致其他人代码遗失的排查
  • H264视频压缩格式
  • 动态的中秋爱心演示送女友用python生成爱心软件文末附c++语言写法
  • macOS - 使用VLC
  • java微服务项目整合skywalking链路追踪框架
  • pandas 笔记: interpolate
  • 应用程序接口(API)安全的入门指南
  • JavaWeb概念视频笔记
  • 网络请求【小程序】
  • python 调用adb shell
  • vue3 使用 vite 构建的项目打包后无法访问
  • C语言指针详解(4)———找工作必看指针笔试题汇总
  • 03MyBatis-Plus中的常用注解
  • Android 修复在 Settings 首页,按键盘方向键逐个单选
  • SpringMvc第六战-【SpringMvcJSON返回异常处理机制】
  • idea-Tabnine
  • 联通面试题
  • [计组03]进程详解2
  • 使用redis+lua通过原子减解决超卖问题【示例】
  • WebFlux异常处理:onErrorReturn和onErrorResume
  • 《动手学深度学习 Pytorch版》 4.5 权重衰减
  • 数据脱敏的风险量化评估介绍
  • SpringCloudGateway网关实战(三)
  • 08在MyBatis-Plus中配置多数据源
  • Centos8安装docker并配置Kali Linux图形化界面
  • 游戏开发初等数学基础
  • svg图片代码data:image/svg+xml转png图片方法
  • 解决问题:Replace `‘vue‘;⏎` with `“vue“;`
  • ThinkPHP 5.0通过composer升级到5.1,超级简单
  • 计算机竞赛 多目标跟踪算法 实时检测 - opencv 深度学习 机器视觉