简体   繁体   中英

On Android: How can I rescan an entire folder to watch for changes in .nomedia

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM