android Camera使用(一)
现在的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使用(一)的更多相关文章
- 【Android】Android Camera原始帧格式转换 —— 获取Camera图像(一)
概述: 做过Android Camera图像采集和处理的朋友们应该都知道,Android手机相机采集的原始帧(RawFrame)默认是横屏格式的,而官方API有没有提供一个设置Camera采集图像的 ...
- android camera setMeteringArea详解
摘要: 本文为作者原创,未经允许不得转载:原文由作者发表在博客园:http://www.cnblogs.com/panxiaochun/p/5802814.html setMeteringArea() ...
- Android — Camera聚焦流程
原文 http://www.cnphp6.com/archives/65098 主题 Android Camera.java autoFocus()聚焦回调函数 @Override public v ...
- android camera setParameters failed 类问题分析总结
在 monkey test 测试中出现了一例 RuntimeException ,即 setParameters failed. LOG显示为:09-01 18:47:17.348 15656 156 ...
- Android Camera 相机程序编写
Android Camera 相机程序编写 要自己写一个相机应用直接使用相机硬件,首先应用需要一个权限设置,在AndroidManifest.xml中加上使用设备相机的权限: <uses-per ...
- Android Camera 使用小结
Android手机关于Camera的使用,一是拍照,二是摄像,由于Android提供了强大的组件功能,为此对于在Android手机系统上进行Camera的开发,我们可以使用两类方法:一是借助Inten ...
- Android Camera拍照 压缩
http://www.linuxidc.com/Linux/2014-12/110924.htm package com.klp.demo_025; import java.io.ByteArrayI ...
- Android Camera 流程梳理
毕业已经快两年了,一直没有写博客的习惯,这是第一篇,以后要慢慢养成这个习惯.毕业之后一直在做相机,先简单的梳理下Android Camera的流程. Android Camera 是一个client/ ...
- 【转】android camera(四):camera 驱动 GT2005
关键词:android camera CMM 模组 camera参数 GT2005 摄像头常见问题 平台信息: 内核:linux系统:android 平台:S5PV310(samsung exyn ...
- 【转】android camera(三):camera V4L2 FIMC
关键词:android camera CMM 模组 camera参数 CAMIF V4L2 平台信息:内核:linux系统:android 平台:S5PV310(samsung exynos ...
随机推荐
- override 修饰符
override(C# 参考) 要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. C# abstract class ShapesClass { ab ...
- IO - IOUtils
Commons IO is a library of utilities to assist with developing IO functionality. There are four main ...
- [Java Web – Maven – 1A]maven 3.3.3 for windows 配置(转)
1.环境 系统环境:windows 2008 R2 JDK VERSION: 1.7.0_10 2.下载地址 MAVEN 下载地址:http://maven.apache.org/download.c ...
- c++ std::sort函数调用经常出现的invalidate operator<错误原因以及解决方法
在c++编程中使用sort函数,自定义一个数据结构并进行排序时新手经常会碰到这种错误. 这是为什么呢?原因在于什么?如何解决? 看下面一个例子: int main(int, char*[]) { st ...
- MFC的类层次结构图
- ADF_Database Develop系列2_通过UML数据库开发之将Logical UML转为Physical Models
2013-05-01 Created By BaoXinjian
- GL_Oracle Erp月结和年节流程讨论(概念)
2014-02-06 Created By BaoXinjian
- [复变函数]第15堂课 4.3 解析函数的 Taylor 展式
1. Taylor 定理: 设 $f(z)$ 在 $K:|z-a|<R$ 内解析, 则 $$\bee\label{15:taylor} f(z)=\sum_{n=0}^\infty c_n(z ...
- Python应用01 原始Python服务器
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 之前我的Python教程中有人留言,表示只学Python没有用,必须学会一个框架( ...
- 关于Objective-C 对象release操作的一个小问题探讨
来源:http://blog.csdn.net/duxinfeng2010/article/details/8757211 最近遇到这样一个问题,以前的时候并未注意:新建一个工程,然后添加一个类,文件 ...