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

Android 简单的拍照并获取图片

2017-01-04 14:06 411 查看

简单的封装一个类,实现拍照并获取图片

(不喜勿喷)

//记录当前拍下的照片路径
private String resultPath;
private File file;

//初始化
public CameraUtils() {
file =  new File("/sdcard/wit_photo");
if (!file.exists()){//如果没有则创建
file.mkdirs();
}
}

/**
*  调用相机拍照
* @param activity
* @param requestCode 设置请求码
*/
public void onCamera(Activity activity, int requestCode){
//设置图片的保存路径,动态获取当前时间,防止命名重复
long time = System.currentTimeMillis();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date(time);
String name = format.format(date);
String absolutePath = file.getAbsolutePath();
//当前图片路径
resultPath = absolutePath + "/"+ name +".jpg";
File temp = new File(resultPath);
Uri imageFileUri = Uri.fromFile(temp);//获取文件的Uri
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//跳转到相机Activity
//告诉相机拍摄完毕输出图片到指定的Uri
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
activity.startActivityForResult(intent, requestCode);
}

/** 获取路径 */
public String getResultPath() {
if (resultPath.isEmpty()){
return "";
}
return resultPath;
}
}


上述代码只是简单处理,重复运用

下面是使用方法:

CameraUtils cameraUtils = new CameraUtils();
// 拍照
cameraUtils.onCamera(this, 102);
String imageFilePath = cameraUtils.getResultPath();


重写onActivityResult()方法:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 102) {
if (resultCode == RESULT_OK) {
//imageFilePath。。。。
//判断是否成功,再对 imageFilePath 图片路径做处理

ac97
}
}
}


至于图片显示、压缩这里就不做处理了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android ui 图片 相机 拍照