打开相机,并返回没有被压缩的图片,并且将图片保存在相册中

来源:互联网 发布:灵魂摆渡3结局解析知乎 编辑:程序博客网 时间:2024/04/27 19:05

调用相机:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

//拍完照片之后保存的路径(文件名)

String dirPath = Environment.getExternalStorageDirectory()+ "/xxxxx";// xxxxx自定义缓存路径

File dir=new File(dirPath);

if(!dir.exists())dir.mkdirs(); 

String imageName=BaseUtil.getSimpleTime() + ".png";
path=dirPath+"/"+imageName;
File f=new File(dirPath,imageName);
Uri u=Uri.fromFile(f); 
intent.putExtra(MediaStore.EXTRA_OUTPUT, u); 

startActivityForResult(intent, 100);


//选取后返回调用activity

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

Bitmap photoCaptured = null;
if (requestCode == 100) {//相机返回处理

File f = new File(path);
try {

//保存在相册,并返回uri
String s = android.provider.MediaStore.Images.Media
.insertImage(context.getContentResolver(),
f.getAbsolutePath(), null, null);

//根据uri读取图片
Uri u = Uri.parse(s);
photoCaptured = BitmapFactory.decodeStream(context
.getContentResolver().openInputStream(u), null, null);

//删除缓存文件
f.delete();
} catch (Exception e) {
e.printStackTrace();
}
}
super.onActivityResult(requestCode, resultCode, data);
}

0 0
原创粉丝点击