androidandroid-intentandroid-mediascanner

Android ACTION_MEDIA_SCANNER_SCAN_FILE not showing image until reboot?


I am currently developing an Android Application where users take pictures which are stored in External Memory on the device then I am trying to also get the Gallery to scan the file to add the new media to the Gallery however this does not seem to update until the device reboots.

The code I am using is as follows:

    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(mCurrentPhotoPath);
    Log.v("INFO", mCurrentPhotoPath.toString());
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);

After taking a picture with my app I can verify it exists using a file manager app on the device and also Logging the file path it appears to be correct before passing it to Media Scanner

file:/storage/emulated/0/Pictures/JPEG_20140712_163043_1418054327.jpg

Thanks Aaron


Solution

  • I managed to solve this. The issue was due to, where I setup the mCurrentPhotoPath. So I updated the code to use

    photoFile = createImageFile();
    mCurrentPhotoPath = photoFile.getAbsolutePath();