Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 330
MonkeyBlue Avatar asked Jul 12 '14 15:07

MonkeyBlue


2 Answers

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();
like image 74
MonkeyBlue Avatar answered Nov 18 '22 14:11

MonkeyBlue


Media Scanner take some to scan and insert show results after calling sendBroadcast you can use MediaScannerConnection method onScanCompleted and then check image in gallery. for more reference follow Link

like image 1
kartikag01 Avatar answered Nov 18 '22 14:11

kartikag01