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?
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())));
am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard
此命令可用于更新SD卡而无需重新启动设备
也可以从shell调用:
am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///mnt/sdcard
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.