android相机拍照
2014-07-09 00:00
99 查看
拍照有两种方式,一是使用android.hardware.Camera,二是使用Intent("android.media.action.IMAGE_CAPTURE"),当然还是第一种好,不过代码太复杂,以后有时间再说,这里就说一下第二种方式吧。
try {
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);
} catch (Exception e) {
}
这样就可以调用系统的像机了。
当然你的Activity要重构一下onActivityResult方法,代码如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bundle extras = data.getExtras();
Bitmap b = (Bitmap) extras.get("data");
ImageView img = new ImageView(this);
img.setImageBitmap(b);
setContentView(img);
}
这样,你拍到的照片就可以显示在ImageView中了。当然,你也可以保存这个Bitmap到文件。
经测试,SDK 1.5版中,测试出错,大概是因为用的是模拟器吧,SDK 1.1版中,程序可以拍到照片,但是尺寸有点小,不知道为什么。这里,我没有怀疑自己,应该是Android的bug,也或者是我没有找在设置图片尺寸的地方
try {
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(i, Activity.DEFAULT_KEYS_DIALER);
} catch (Exception e) {
}
这样就可以调用系统的像机了。
当然你的Activity要重构一下onActivityResult方法,代码如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Bundle extras = data.getExtras();
Bitmap b = (Bitmap) extras.get("data");
ImageView img = new ImageView(this);
img.setImageBitmap(b);
setContentView(img);
}
这样,你拍到的照片就可以显示在ImageView中了。当然,你也可以保存这个Bitmap到文件。
经测试,SDK 1.5版中,测试出错,大概是因为用的是模拟器吧,SDK 1.1版中,程序可以拍到照片,但是尺寸有点小,不知道为什么。这里,我没有怀疑自己,应该是Android的bug,也或者是我没有找在设置图片尺寸的地方
相关文章推荐
- 关于android调用相机及拍照的存储和照片处理功能的全面小案例
- android调用系统相机实现拍照功能
- Android菜鸟笔记-调用相机拍照后返回照片过小的问题
- Android调用系统相机拍照,并且模仿实现水印相机简单功能
- android 实现调用相机拍照 获取照片路径并上传
- android调用系统相机实现拍照功能
- Android启动系统默认相机拍照出带水印的照片
- Android--相机预览及拍照临时文件/SurfaceView
- android 调用系统相机拍照 获取原图
- Android 调用系统相机拍照保存以及调用系统相册的方法
- android相机拍照
- 调用android系统相机拍照并保存
- Android调用自身相机拍照并保存拍摄的照片到手机的sd卡
- Android--相机预览及拍照临时文件/SurfaceView
- android4.1.1拍照停留在相机页面的问题
- android相机拍照
- android 调用系统相机拍照 获取原图
- Android 调用相册,相机并且相机拍照后可直接裁剪
- 调用android系统相机拍照并保存
- Android相机开发(一)之预览拍照查看图片基本功能的实现