您的位置:首页 > 移动开发 > Android开发

Android开发之获取相册照片和获取拍照照片二

2016-02-24 11:38 316 查看
上一篇文章中讲解了照相机获取照片的时候遇到了可能取得的uri为null的状态,并给出了相应的解决方案,但是那种解决方案得到的图片是压缩过的,如果我们想得到相机拍摄出来的原照片,我们又应该怎样做呢?

其实方式很简单,在

Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");

之后我们直接讲文件先保存到指定的路径filepath,然后直接在

onActivityResult(int requestCode, int resultCode, Intent data)

中把filepath传递过去就行了。

[java] view
plain copy

private String capturePath = null;

[java] view
plain copy

protected void getImageFromCamera() {

String state = Environment.getExternalStorageState();

if (state.equals(Environment.MEDIA_MOUNTED)) {

Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");

String out_file_path = Constant.SAVED_IMAGE_DIR_PATH;

File dir = new File(out_file_path);

if (!dir.exists()) {

dir.mkdirs();

}

capturePath = Constant.SAVED_IMAGE_DIR_PATH + System.currentTimeMillis() + ".jpg";

getImageByCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(capturePath)));

getImageByCamera.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);

startActivityForResult(getImageByCamera, Constant.REQUEST_CODE_CAPTURE_CAMEIA);

}

else {

Toast.makeText(getApplicationContext(), "请确认已经插入SD卡", Toast.LENGTH_LONG).show();

}

}

在onActivityResult(int requestCode, int resultCode, Intent data)中我们只要把路径filepath定义为全局的变量传送过来就行了。

这样得到的图片是直接从相机中拍摄得到的照片,不会被压缩了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: