现在的App不可避免的要使用到手机的相机功能

首先我们先来介绍下最简单的一个实现方式,启动系统自带的Activity

上代码:

public void openCamera() {
Intent i=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
path=getOutputMediaFile();
i.putExtra(MediaStore.EXTRA_OUTPUT,path);//使用自定义的路径进行保存图片
startActivityForResult(i,FLAG_CAMERA_RESULT);
}
private Uri getOutputMediaFile(){ 
      File path= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
      File file=new File(path,"App_Note");
      if(!file.exists()){
          boolean flag= file.mkdirs();
       }
      String timestamp=new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
      File mediaFile=new File(file.getAbsolutePath()+File.separator+"img_"+timestamp+".jpg");
      return Uri.fromFile(mediaFile);
}
    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==FLAG_CAMERA_RESULT){
if(resultCode==RESULT_OK){
Bitmap bitmap= BitmapFactory.decodeFile(path.getPath());
list.add(bitmap);
adapter.notifyDataSetChanged();
}
}else if(requestCode==FLAG_GALLERY_RESULT){
if(resultCode==RESULT_OK){ try {
InputStream is= getContentResolver().openInputStream(data.getData());
Bitmap bitmap= BitmapFactory.decodeStream(is);
list.add(bitmap);
adapter.notifyDataSetChanged(); } catch (FileNotFoundException e) {
e.printStackTrace();
}
Log.i("com.loo",data.getData()+"");
} }
}

注意:

如果不设置MediaStore.EXTRA_OUTPUT,系统将会在默认的地址进行保存,并在onActivityResult的data数据中返回,

 Bitmap bm= (Bitmap) data.getExtras().get("data");//bitmap是被压缩过的

暂时不知道怎么获取存储的地址:试过使用data.getData()还是返回null。。。。。坑啊

如果设置了,返回的data即为NULL。

打开相册代码:

public  void openGallery(){
Intent i=new Intent(Intent.ACTION_GET_CONTENT);
i.setType("image/*");
startActivityForResult(i,FLAG_GALLERY_RESULT);
}

注意:一定要设置type,否则会报错。

android Camera使用(一)的更多相关文章

  1. 【Android】Android Camera原始帧格式转换 —— 获取Camera图像(一)

     概述: 做过Android Camera图像采集和处理的朋友们应该都知道,Android手机相机采集的原始帧(RawFrame)默认是横屏格式的,而官方API有没有提供一个设置Camera采集图像的 ...

  2. android camera setMeteringArea详解

    摘要: 本文为作者原创,未经允许不得转载:原文由作者发表在博客园:http://www.cnblogs.com/panxiaochun/p/5802814.html setMeteringArea() ...

  3. Android — Camera聚焦流程

    原文  http://www.cnphp6.com/archives/65098 主题 Android Camera.java autoFocus()聚焦回调函数 @Override public v ...

  4. android camera setParameters failed 类问题分析总结

    在 monkey test 测试中出现了一例 RuntimeException ,即 setParameters failed. LOG显示为:09-01 18:47:17.348 15656 156 ...

  5. Android Camera 相机程序编写

    Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-per ...

  6. Android Camera 使用小结

    Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Inten ...

  7. Android Camera拍照 压缩

    http://www.linuxidc.com/Linux/2014-12/110924.htm package com.klp.demo_025; import java.io.ByteArrayI ...

  8. Android Camera 流程梳理

    毕业已经快两年了,一直没有写博客的习惯,这是第一篇,以后要慢慢养成这个习惯.毕业之后一直在做相机,先简单的梳理下Android Camera的流程. Android Camera 是一个client/ ...

  9. 【转】android camera(四):camera 驱动 GT2005

    关键词:android  camera CMM 模组 camera参数  GT2005 摄像头常见问题 平台信息: 内核:linux系统:android 平台:S5PV310(samsung exyn ...

  10. 【转】android camera(三):camera V4L2 FIMC

    关键词:android  camera CMM 模组 camera参数  CAMIF   V4L2  平台信息:内核:linux系统:android 平台:S5PV310(samsung exynos ...

随机推荐

  1. Google glog 使用

    Google glog 使用 1        简介 Googleglog 库实现了应用级的日志记录,提供了C++ 风格的流操作和各种助手宏. 代码示例: #include <glog/logg ...

  2. NeHe OpenGL教程 第十九课:粒子系统

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. NeHe OpenGL教程 第四课:旋转

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. php之form表单

    <!DOCTYPE HTML> <html> <head> <title>form</title> <style type=" ...

  5. Python中在脚本中引用其他文件函数的方法

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...

  6. bootstrap-响应式工具和打印样式

    响应式工具: <div class="container"> <!-- 针对不同的宽度 展示或隐藏相关内容 visible-lg-block 显示 hidden- ...

  7. 非常详细GC学习笔记

    转载:http://blog.csdn.net/fenglibing/article/details/6321453 这是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转 ...

  8. struts (七) 域模型

    1.域模型获取参数 domain Model 2. vo  value object  值对象 do  data object 数据对象 dto data transfer object  数据传输对 ...

  9. background 、backgroundcolor、background-color 我怎么有点分不清了??

    background 可以设置 背景颜色.背景图片.定位等 background-color 只能设置 背景颜色 backgroundColor在js处理css里面,是DOM.style.backgr ...

  10. poj 2485 Highways 最小生成树

    点击打开链接 Highways Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 19004   Accepted: 8815 ...