</pre><pre>
Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //调用拍照的intent
File photoFile=null;photoFile=createImageFile(); //创建一个image文件if(photoFile!=null){uri=Uri.fromFile(photoFile); //构建一个保存外部目录的uriintent.putExtra(MediaStore.EXTRA_OUTPUT,uri); //设置拍照完成之后保存在指定的uri目录startActivityForResult(intent, REQUEST_TAKE_PHOTO); //启动拍照
//创建一个ImageFile
public File createImageFile(){
String timeTemp=new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); //文件名格式
String imageFileName = "JPEG_" + timeTemp + "_";
//PICTURES 目录
// File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES);//保存在Pirctures目录
File storageDir = new File(Environment.getExternalStorageDirectory()+"/aaa/bbb");
if(!storageDir.exists()){
storageDir.mkdirs(); //如果只有一级目录 如/aaa 可以用 storyageDir.mkdir();
}
File image=null;
try {
image=File.createTempFile(imageFileName, ".jpg",storageDir); //创建一个临时文件
mCurrentPhotoPath = "file:" + image.getAbsolutePath(); //当前文件路径 可以根据这个文件路径获取image
} catch (IOException e) {
e.printStackTrace();
}
return image;
}
Bitmap bitmap=BitmapFactory.decodeStream(getActivity().getContentResolver().openInputStream(uri)); //获取bitmap
// image.setImageBitmap(bitmap); //设置bitmap到ImageView
image.setImageURI(uri); //可以通过uri设置图片到ImageView
1.通过设置拍照保存到指定的目录 保存uri地址,
2. 可以通过uri地址 获取bitmap。