私が作成しているこのアプリは、写真を撮ってSDカードに保存していますが、画像がギャラリーに表示されていません...私のコードに何か問題がありますか
public void takepicture(View view){
try{
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
//To store public files
File directory=new File(Environment.getExternalStorageDirectory()
, "Myapp Pictures");
if(!directory.exists())
directory.mkdir();
// Create an image file name
String timeStamp =
new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "Img" + timeStamp + ".jpg";
file=new File(directory, imageFileName);
if(!file.exists())
file.createNewFile();
}
}catch(Exception e){
e.getCause();
}
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
mImageUri=Uri.fromFile(file);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);
startActivityForResult(takePictureIntent, actioncode);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == actioncode){
if((file.length())==0){
file.delete();
}
try{
if(resultCode==Activity.RESULT_OK){
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
galleryAddPic(file.toString());
}
}catch(Exception e){
e.getCause();
}
}
}
画像はイメージビューに表示され、目的のディレクトリに保存されますが、現在はギャラリーに表示されています そして最後に、これはギャラリーに追加するためのコードです
public void galleryAddPic(String file) {
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(file);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
this.sendBroadcast(mediaScanIntent);
}