调用相机:
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);
}