Skip to main content

Refreshing Android MediaStore

The Android MediaStore maintains the metadata of audio, video and image files in the underlying filesystem for convenient consumption by relevant Android apps (eg. music player).

The problem is when manipulating the SD card content with an Android file manager, sometimes the metadata cache becomes out of sync with the actual filesystem. So for example if you rename or delete a folder using a file manager, then connect the device via a USB cable to your PC to be accessed via MTP, the old folder may appear in Windows Explorer. Clicking "Refresh" does not work to update the content. The only way to refresh the cache is to reboot the device.

Another method I found recently is to run an app that forces MediaStore to refresh its cache. There are many apps available for this purpose if you search for "rescan sd" in the app store. A lot of them won't work with Android 6.x (Mashmallow) and will crash when you try. One ad-free app that works  under Mashmallow is Rescan SD Card.



It is a very simple app, but it does take a while to rescan the entire SD card. For my case with a few thousand files, it took 3 to 4 minutes to complete the process.

On the topic of MTP, it is a horrible protocol for file transfer. We used to have USB mass storage, where the SD card is mounted as a drive under Windows Explorer. But this is all but gone in the latest devices and can only be found in some custom ROMs.

Anyway, mounting the SD card as a drive has its own problems because it needs to dismount the storage from Android apps during the usage duration, which can cause all sorts of unexpected problems. Recent devices mostly only support PTP (which is practically useless for anything) and MTP.

MTP is horrible because it is extremely finicky. It can hang when transferring large files. It can hang when you are just renaming a folder. When it hangs, the only workaround is to reboot the device.

Why not use wireless? Wireless transfer apps such as AirDroid or SendAnywhere is not practical when you are trying to transfer large files (eg. video files > 500MB). In addition, when you are out and about, and your PC is connected to a WiFi hotspot, while your phone is connected to 4G, it is a pain to juggle the connections so that the quota on your 4G broadband will not be affected. Simplest is to use a USB cable, which is fast and reliable. Too bad the underlying protocol is garbage.

We need a better standard for wired file transfer over USB, and so far none is forthcoming.

Comments

Popular posts from this blog

Update: Line adapter for Ozito Blade Trimmer

Update (Dec 2021): If you access to a 3D printer, I would now recommend this solution , which makes it super easy to replace the trimmer line. I have been using it for a few months now with zero issue.

3D Printer Filament Joiner

I have been looking at various ways of joining 3D printing filaments. One method involves running one end of a filament through a short PTFE tubing, melting it with a lighter or candle, retracting it back into the tubing and immediately plunging the filament to be fused into the tubing: One problem with this method is that you can't really control the temperature at which you melt the filament, so you frequently end up with a brittle joint that breaks upon the slightest bend. Aliexpress even sells a contraption that works along the same line. As it uses a lighter or candle as well, it suffers from the same weakness. I am not even sure why you need a special contraption when a short PTFE tubing will work just as well. Another method involves using shrink tubing/aluminium foil, and a heat gun: But a heat gun is rather expensive, so I wanted to explore other alternatives. The candle + PTFE tubing method actually works quite well when you happen to melt it at the rig...

Line adapter for Ozito Blade Trimmer

This is an adapter for Ozito 18V battery trimmer (and possibly some Bosch trimmers as well) that uses a plastic blade for cutting. It lets you insert a 2.4mm trimmer line (about 8cm long) and use that for cutting. Simply cut a length of trimmer line and briefly heat up one end with a lighter so that a little bulb is formed. Then insert the trimmer line into the adapter and slot that into the trimmer as per normal. Make sure the trimmer line is not so long that it touches the safety guard. If that is the case, simply trim off any excess with a cutter or scissors. This part is best printed using PETG, which is a tougher and more flexible material. PLA is more rigid and breaks more easily. However, even with PETG, it will still break when it hits something really hard. Since this takes only 0.5m of material and 15 minutes to print, I will usually print a batch of nine at a time at very little cost. The blades that they sell do not break when it hits a hard object, but ...