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

Android 拍照本地图片选择框架适配

前言

通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄

1、解决方案通过意图选择器做成通用的、同时支持拍照和本地图片选择

2、解决方案也可以低版本手机使用框架、高版本手机做成意图选择器,因为有些框架不会去适配新的Android API

需求一:选择本地图片

 private static final int PICK_IMAGE = 1;点击事件
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);intent.setType("image/*");startActivityForResult(intent, PICK_IMAGE);Activity回调@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == PICK_IMAGE && resultCode == RESULT_OK && data != null) {// 获取选择的图片的 URIUri selectedImageUri = data.getData();Log.e(TAG,"selectedImageUri:"+selectedImageUri);}}

需求二:同时选择图片和拍照

  Intent intent = fileChooserParams.createIntent();intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("*/*"); // 任何文件类型Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);imageUri = createCameraImageUri();cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);Intent chooserIntent = Intent.createChooser(intent, "请选择");chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{cameraIntent});startActivityForResult(chooserIntent, REQUEST_CODE_FILE_CHOOSER);

界面效果
在这里插入图片描述
在这里插入图片描述

总结

1、系统东西好用、不要随意找网上没人维护的代码

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

相关文章:

  • 06 - ip route和route -n的区别
  • JAVA设计模式——单例模式
  • 分巧克力 刷题笔记
  • Python图像处理【21】基于卷积神经网络增强微光图像
  • 【嵌入式——QT】QTreeWidget
  • SQL 术语:Join 中的 Build 和 Probe 是什么意思?
  • HTTP头部信息解释分析(详细整理)
  • 探究短链接生成算法
  • golang 实现http请求的调用,访问并读取页面数据和内置的一些方法
  • FFmpeg+OpenCV开发案例汇总
  • PySide6+VSCode Python可视化环境搭建
  • 【设计】设计一个web版的数据库管理平台后端精要
  • 没有硬件基础可以学单片机吗?
  • ChatGPT引领的AI面试攻略系列:cuda和tensorRT
  • 【战略前沿】人形机器人制造商Figure获得了OpenAI、Jeff Bezos、Nvidia和其他科技巨头的资助
  • 多块磁盘组磁盘离线导致VSAN存储崩溃的VSAN数据恢复案例
  • Jenkins 的安装(详细教程)
  • 使用html网页播放多个视频的几种方法
  • python 基础知识点(蓝桥杯python科目个人复习计划58)
  • 【基于React实现共享单车管理系统】—React基础知识巩固(二)
  • 云桥通+跨境电商:SDWAN企业组网优化跨境网络案例
  • 服务器有几种http强制跳转https设置方法
  • web坦克大战小游戏
  • 如何使用生成式人工智能探索视频博客的魅力?
  • gpt批量工具,gpt批量生成文章工具
  • Python知识汇总
  • WEB面试题
  • Android Studio 六大基本布局详解
  • 如何应对IT服务交付中的问题?
  • [Python] 缓存实用工具