Android开发之App拍照系统相册展示
来源:互联网 发布:编程就业培训中心 编辑:程序博客网 时间:2024/04/30 00:45
需求:客户提出一个需求,App拍照的照片需要直接在系统相册中可以查看得到。
解决方案:
第一次尝试:刚开始想到的是网上这三种方式:http://blog.csdn.net/qq_34157407/article/details/51407992
发现使用广播或者插入图库都无法实现在系统相册中查看。我的适配机型是:魅族MX5.
第二次尝试:当没有合适的方法的时候,就自己动手推测分析。经过几次的测试系统相册所关联的逻辑,以及系统照相机拍照后的照片存储规则。推测将照片存储在DCIM文件夹中,相册才会加载的首要条件。最终,经过测试,得出关于我适配机型的解决方案:
1、拍照后照片存储于系统相册关联的文件夹DCIM下(区别与其他方法的地方);
2、发送广播,通知系统相册刷新。
代码如下:
保存照片并通知相册更新广播:
// 将照片插入到系统相册BitmapUtils.saveBitmap(addbmp, ru.fileName,Environment.getExternalStorageDirectory() + "/DCIM/");context.sendBroadcast(new Intent( Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri .fromFile(new File(Environment .getExternalStorageDirectory() + "/DCIM/" + ru.fileName + ".jpg"))));
保存照片到指定路径下:
/** * 保存图片到指定的Path路径下 * * @author vaecer * @param bm * 图片bitmap * @param picName * 图片名字 * @param path * 图片保存的路径 */ public static void saveBitmap(final Bitmap bm, final String picName, final String path) { new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { // String realPath = // Environment.getExternalStorageDirectory() + path; File f = new File(path, picName + ".jpg"); if (f.exists()) { f.delete(); } FileOutputStream out = new FileOutputStream(f); bm.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }).start(); }
阅读全文
1 0
- Android开发之App拍照系统相册展示
- Android开发之调用相机拍照和调用系统相册
- Android开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android 开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android开发之获取相册照片和获取拍照照片
- Android开发之 选择相册图片或者拍照
- Android开发之获取相册照片和获取拍照照片
- Android拍照保存在系统相册
- Android打开系统拍照&相册获取头像
- Android调用系统相册和相机拍照
- Android开发之系统相机相册使用
- Android实战Samples之相册拍照
- JEESZ分布式框架--开发环境部署
- WebView显示网页
- Servlet自动加载
- python selenium启动不了火狐浏览器(firefox)的解决办法
- android自定义view onDraw canvas
- Android开发之App拍照系统相册展示
- 20170721工作记账流水
- 格式: echo -e "\033[字背景颜色;字体颜色m字符串\033[0m"
- c++ IO加速处理
- UNEXPECTED TOP-LEVEL ERROR以及Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
- ACM_ Classy
- 【LeetCode】566. Reshape the Matrix
- 奥威零售数据分析工具Power-BI -店铺连带率分析
- IT职场中—快速入门必会技能—mongo