需求:  调用系统照相机进行拍照,并且保存到系统相册,调用系统相册的时候能看到

 

系统相册的路径:String cameraPath=

Environment.getExternalStorageDirectory() + File.separator + Environment.DIRECTORY_DCIM+File.separator+"Camera"+File.separator;

private Uri photoUri;
private String fileName;
private File photoFile;

1.这样的话你可以去我们保存的路径下查看下,是不是已经存在了。

但是这样,你直接调用系统的相册,或者通过查询数据库来查看图片,咦?为什么没有呢!别着急到这里后还没有完呢,如果想让系统知道我们拍照了,我们还需要做一步操作就是通知数据库(更新指定的url),让图片数据库更行,知道我们拍了新的照片。(注:这个时候的图片是没有缩略图的,有的系统会在一段时间后自动生成缩略图)

通知数据库更新指定的url

下面这个是通知更新整个内存卡的,在早期的安卓版本中会使用到,更新的范围大,如果内存卡中有很多数据,会非常的慢(注:现在已经很少用)。

这样就看你在什么地方需要通知了,我在项目中是在返回的时候发广播通知系统图库更新的。

不同的系统版本通知的不一样(我文章中通知的这个范围在小米4和三星galaxys4 都没有问题,可以再系统图库中看到,但是另一款三星note 的系统图库中就没有看到。如果有更好的解决办法,烦劳小伙伴告知了,不甚感激!)

2.另外还有一种方法可以把图片插入到系统图库中。

但是这种方法,并不能指定保存的路径,而且系统会根据自己的规则来给图片进行命名。执行这个方法,你的内存中就会有两个一样的图片了,一个是你自己保存的路径,一个是执行这个方法,系统自动为你保存的一个图片。通过查看源码我们会发现,这个方法还会为图片生成缩略图。

下面我贴出这个方法的源码,可以清楚的看到在这个方法中对图片做了压缩和生成缩略图的处理。

3.对于保存拍照后的图片,我在网上看到有的小伙伴这样写,但是我这样写会报错,不知道你们遇到过没,知道的小伙伴告诉下哈,感谢 感谢

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");
// ...做保存图片的操作...
}

android 调用系统照相机拍照后保存到系统相册,在系统图库中能看到的更多相关文章

  1. Android 调用系统照相机拍照和录像

    本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.a ...

  2. Android--调用系统照相机拍照与摄像

    前言 在很多场景中,都需要用到摄像头去拍摄照片或视频,在照片或视频的基础之上进行处理.但是Android系统源码是开源的,很多设备厂商均可使用,并且定制比较混乱.一般而言,在需要用到摄像头拍照或摄像的 ...

  3. Android调用相机实现拍照并裁剪图片,调用手机中的相冊图片并裁剪图片

    在 Android应用中,非常多时候我们须要实现上传图片,或者直接调用手机上的拍照功能拍照处理然后直接显示并上传功能,以下将讲述调用相机拍照处理图片然后显示和调用手机相冊中的图片处理然后显示的功能,要 ...

  4. 【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!

    一.写在前面 前几天也是分享了一些学习必备干货(还没关注的,赶紧入坑:传送门),也好久没有与大家探讨技术方案了,心里也是挺痒痒的,这不,一有点闲暇之时,就迫不及待把最近测出来的坑分享给大家. 提起An ...

  5. Android调用系统照相机

    ndroid调用系统相机实现拍照功能 在实现拍照的功能时遇到了很多问题,搜索了很多资料,尝试了很多办法,终于解决了,下面简要的描述下在开发过程中遇到的问题. 虽然之前看过android开发的书,但是没 ...

  6. Android下载图片/调用系统相机拍照、显示并保存到本地

    package com.example.testhttpget; import java.io.BufferedReader; import java.io.FileNotFoundException ...

  7. Android调用系统相册和拍照的Demo

    最近我在群里看到有好几个人在交流说现在网上的一些Android调用系统相册和拍照的demo都有bug,有问题,没有一个完整的.确实是,我记得一个月前,我一同学也遇到了这样的问题,在低版本的系统中没问题 ...

  8. [android] 调用系统照相机和摄像机

    查看系统照相机源码,找到清单文件查看 查看意图过滤器,action是android.media.action.IMAGE_CAPTURE category是android.intent.categor ...

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

      好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用data.getData()的方式来生成bitmap,其实获取的是拍照生成的缩略图!看看尺寸就 ...

随机推荐

  1. SpringBoot 3.SpringBoot 整合 MyBatis 逆向工程以及 MyBatis 通用 Mapper

    一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...

  2. 【设计模式】—— 职责链模式ChainOfResponsibility

    前言:[模式总览]——————————by xingoo 模式意图 避免请求的发送者,和接受者过度的耦合在一起.一个请求者只需要发送一个请求即可,它的请求具体由后面哪个对象进行响应,并不需要关心.而请 ...

  3. [代码]--给GridControl中的某列添加图片

    要让GridControl的某列显示图片只需要数据源中有图片就可以正确显示 1.给DataSet添加一列,格式为image ds.Tables[].Columns.Add("SIGN&quo ...

  4. gdb调试coredump文件

    linux上程序崩溃起来挺烦人,不过linux 比较好的是有gdb. 1.生成coredump文件 echo "ulimit -c unlimited" >> /etc ...

  5. emWin 使用 GUIBuilder 放置标题 TEXT 注意

    @2018-7-10 13:27:16 emWin 使用 GUIBuilder 放置标题 “Scroll Compressor”,有居中显示要求,为了内容可在程序中方便更改且能达到自适应,应将其属性大 ...

  6. 【uoj428】普通的计数题

    Portal --> uoj428 Solution 不会胖子的一个log正解qwq只能怂怂滴写分治了qwq ​ 首先就是一个我想不到的转化qwq ​ 我们将第\(i\)次操作加入的数看成一个编 ...

  7. 2017年8道php面试题(真题+答案)

    1.<?php echo count(strlen(“http://php.net”)); ?>的执行结果是? 答案:1 .如果var是普通变量,则返回1.正常情况下返回var中的元素或属 ...

  8. Codeforces 923 A. Primal Sport

    http://codeforces.com/contest/923/problem/A 题意: 初始有一个x0,可以选择任意一个<x0的质数p,之后得到x1为≥x0最小的p的倍数 然后再通过x1 ...

  9. CSS3 Day1 练习

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. WordPress中使用Markdown和Syntax Highlighter

    下载安装插件 在wordpress插件中安装WP Code Prettify. PHP Markdown Extra 下载Extra,并上传安装到wordpress. Code Prettify th ...