我写了一个可以拍照的程序。问题是当我尝试将其保存在 DIRECTORY_PICTURES 中时,我在图片目录中找不到我拍摄的图片,我的代码有什么问题?我写的程序打开相机没有问题,我可以成功拍照但图片目录中没有图像
ImageView mImageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mImageView=(ImageView)findViewById(R.id.imageView) ;
}
static final int REQUEST_IMAGE_CAPTURE=1;
public void bucapture(View view) {
Intent takePictureIntent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if(takePictureIntent.resolveActivity(getPackageManager())!=null){
startActivityForResult(takePictureIntent,REQUEST_IMAGE_CAPTURE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==REQUEST_IMAGE_CAPTURE && resultCode==RESULT_OK){
Bundle extras=data.getExtras();
Bitmap imageBitmap=(Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
try {
createImageFile();
galleryAddpic();
}catch (Exception ex){
ex.printStackTrace();
}
}
}
String mCurrentPhotpPath;
//create image name
private File createImageFile() throws IOException {
String timeStamp=new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName="JPGE"+timeStamp+"_";
File storgeDir= Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File image=File.createTempFile(imageFileName,".jpg",storgeDir);
mCurrentPhotpPath="file:"+image.getAbsolutePath();
return image;
}
//save image
private void galleryAddpic(){
Intent mediaScanIntent=new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f=new File(mCurrentPhotpPath);
Uri contentUri=Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}
}