4

So my app downloads images at the users' request from an online source. Through a button in the activity, the user can choose to hide or show the images in the gallery. This is easy enough, I just add or remove a .nomedia file as needed. However, I want to rescan media every time so that the change is instant, and requires no further user interaction.

After each image is downloaded, I am using the method at http://www.mail-archive.com/android-developers@googlegroups.com/msg24164.html to scan the specific image into the library. That works great for one image, but when the .nomedia file is added, I really need to be able to scan a whole directory.

I have considered calling the MediaScannerNotifier on each image in the directory, but that just seems clumsy and lazy.

Advice?

Jon F Hancock
  • 3,349
  • 3
  • 23
  • 26

3 Answers3

5

Finally found it at http://groups.google.com/group/android-developers/browse_thread/thread/c1a385226f3df482.

It is a one-liner:

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse
("file://"
+ Environment.getExternalStorageDirectory())));
Jon F Hancock
  • 3,349
  • 3
  • 23
  • 26
0
am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard

This command can be used to update the SD Card without rebooting the device

-1

One can also invoke from the shell:

am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard
user640811
  • 43
  • 2