0
写真を撮るプログラムを書いています。 問題は、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);
}
}
あなたのドライブには決して実際に出力ビットマップの任意の場所の画像ディレクトリには画像がありません – dymmeh