获取图片后上传可以看我这篇文章,封装好了后,只需要一个uri就行了

https://blog.csdn.net/qq_27454233/article/details/106661130

先说明AndroidQ以前的系统拍照:先选择文件夹,看文件夹是否建立,建立文件夹,拿到文件路径,然后命名照片名称,通过文件路径和拍照名称:

File file = new File(path);

再根据Android7.0来生成Uri:

public static Uri getUriForFile(Context context, File file) {if (context == null || file == null) {return null;}Uri uri;if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {uri = FileProvider.getUriForFile(context.getApplicationContext(),PROJECT_PROVIDE, file);} else {uri = Uri.fromFile(file);}return uri;}

然后通过这个uri调用系统api拍照,在onActivityResult中得知拍照完成,通过上面的path,获取文件,File file = new File(path):

/*** 拍照*/public static void takePhoto(Activity context, Uri uri) {Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);if (uri != null) {intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);context.startActivityForResult(intent, 2000);} else {ToastInstance.ShowText("出现未知错误,请重新操作");}}

onActivityResult就不放上来了,不是重点。

AndroidQ我这样是获取不到Uri的,因为我有检测文件夹这些,在文件路径那边就会到异常。从上面可以看出,只要区分AndroidQ和AndroidQ以下的Uri获取方式就行了:

AndroidQ获取方式,主要在于通过MediaStore提供的Uri,使用ContentResolver的insert接口,将文件保存到公共目录下,这样才能创建文件成功:

@RequiresApi(api = Build.VERSION_CODES.Q)public static Uri getUriForFile29(Context context, String name) {Uri uriForFile;ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.DESCRIPTION, "JY_PICTURE");values.put(MediaStore.Images.Media.DISPLAY_NAME, name);values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpg");values.put(MediaStore.Images.Media.TITLE, name);values.put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_DCIM);Uri external = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;ContentResolver resolver = context.getContentResolver();uriForFile = resolver.insert(external, values);return uriForFile;}

就可以了。喜欢的点个赞哦

Android Q:调用系统相机拍照,并且获取图片相关推荐

  1. 完美调用系统相机拍照,获取图片进行压缩并本地保存

    在android开发中,调用相机的功能的频幕可谓相当之高,尤其在当前社交应用五花八门的情况下,相机的功能被开发的相当丰富,如美颜相机,美拍,微拍和最早的360相机等,可是制造多少"美女&qu ...

  2. android代码调用相机,Android如何调用系统相机拍照

    本文实例为大家分享了Android调用系统相机拍照的具体代码,供大家参考,具体内容如下 /** * 调用系统相机 */ private void takePhoto() { Uri uri = nul ...

  3. Android手机调用系统相机拍照、裁剪以及获取Url上传图片

    前言 最近一个人在公司搞独立开发,遇到问题只能自己解决,虽然过程比较坎坷,但是收获还是颇多的,一个人也是要坚强滴,最近弄用户的头像遇到了一些小问题,虽然上一款应用有头像上传,但是发现了其中的一些小问题 ...

  4. 调用系统相机拍照,裁剪图片

    很重要的是加入权限,很多人因为没加入拍照权限而导致运行不能成功. <uses-permission android:name="android.permission.CAMERA&qu ...

  5. android 调用系统相机拍照 获取原图

    博客源址:android 调用系统相机拍照 获取原图 博客时间:2013-04-23 11:08 好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用 ...

  6. Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题

    Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题 1.调用相机,兼容7.0 AndroidManifest配置 <providera ...

  7. android 相机拍照返回,Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题...

    版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是"确定"图标,返回的resultCode = -1(Activity.RESU ...

  8. Android多层嵌套Fragment中调用系统相机拍照以及裁剪的相关问题解决

    多层嵌套Fragment中调用系统相机拍照.裁剪 最近公司项目有频繁使用相机拍照的需求,然后频繁的实际使用过程中遇到很多大大小小的坑,在此记录下. (ps.关于一些拍照后图片旋转.裁剪设置返回数据为t ...

  9. Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto)void onclick() {Intent intent = new Intent(MediaSt ...

  10. android固定位置拍照,Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto) void onclick() { Intent intent = new Intent(Media ...

最新文章

  1. Python爬取近十万条程序员招聘数据,告诉你哪类人才和技能最受热捧! | 原力计划...
  2. C++_泛型编程与标准库(六)
  3. 工作185:解决vue+el-element二级联动,选项选择后不显示的问题
  4. MBR, EFI, 硬盘分区表
  5. MySQL在windows的my-default.ini配置
  6. 解决RTMP推送时间戳问题引起HLS切片不均匀导致手机浏览器播放卡顿的问题
  7. 【专栏必读】软件工程导论第六版(张海藩)专栏学习笔记目录导航
  8. c51流水灯实验报告汇编语言,LED流水灯显示实验,单片机实验报告
  9. java 进制转换工具_Java实现的进制转换工具类完整示例
  10. linux软硬链接 计数,深入理解Linux的软链接和硬链接
  11. kmeans-用户分层
  12. 电脑上的歌曲怎么传到苹果手机上面,怎么把电脑上的歌导入苹果手机
  13. c语言编译器中cu是什么意思,.c文件调用.cu中的函数
  14. MySQL 的 MRR 到底是什么?
  15. 华三交换机如何进入配置_H3C交换机恢复出厂和各种基本配置方法
  16. 开源免费的WEB应用防火墙
  17. 熵、图像熵的意义及计算方法
  18. Linux 系统相关目录介绍
  19. 运用String.format格式化方法和消息枚举类型创建消息模板
  20. OFD文件怎么转换成PDF格式?这两种方法轻松实现转换

热门文章

  1. iOS-画一个钉钉圆形带名字的头像
  2. iOS Mac设置代理以及忽略部分IP代理
  3. asp.net 动态修改css样式,ASP.NET中直接用C# 动态修改CSS样式
  4. python怎么下载安装mac_Python 安装和环境搭建(Mac版)
  5. Springboot, link failure、SSL peer shut down incorrectly、Unsupported record version Unknown-0.0问题
  6. 浅谈数据的查找(二分查找)
  7. C2B前还有S2b,阿里携手产学研探索新零售时代的供应链未来
  8. 从爬取豆瓣影评到基于朴素贝叶斯的电影评论情感分析(下)
  9. 488 祖玛游戏 python
  10. +、-、*、/复数与整数运算符重载