13

I received the official OTA KitKat update for my Nexus 4 last week and since then I have been unable to rescan the SD card. I have tried a number of different apps for this task but all of them crash when being opened. A bit of research shows a handful of users with the same issue.

These are the apps I've tried:

  • Rescan Media (Aditya Talpade)
  • Rescan SD Card! (sTOOPIDfiG)
  • Rescan SD Media Card (RADEFFFACTORY)
  • SDrescan (Benjamin Rosseaux) my old standby on Jelly Bean

Each app crashes when launched. Is anyone able to refresh their SD memory on KitKat?

13

It won't work to detect deleted files, but I just put an app up on the Play Store that will work on new and updated files: https://play.google.com/store/apps/details?id=com.gmail.jerickson314.sdscanner

It uses a workaround inspired by Dan Hulme's answer: by using the API that is only for a specific file, but manually generating a recursive list of files on the card. This requires only the read permission on the SD card, not root, and has the nice side effect of allowing a reliable progress indicator.

  • This ought to be the accepted answer; Dan's answer doesn't solve the problem. The other half of the problem - getting rid of deleted files - is solved by manually clearing the Media Service's cache and data. It's easy to get into the situation where you are forced to do a rescan - e.g. when you rename a folder. – Barry Kelly Dec 8 '13 at 0:19
  • Since writing this answer, I've implemented functionality to read the media database. As far as I can tell, it's working to detect deleted files. Sometimes deleted files aren't showing up in the media database at all, which I suspect means they're getting cleaned out by Google Play Music or something before SD Scanner gets to them. – Jeremy Erickson Dec 11 '13 at 15:39
  • Annoyingly, I had to copy the default ringtones, alarms, notification sounds etc. to locations under /sdcard to get them to be found again by Settings. – Barry Kelly Dec 12 '13 at 12:08
  • Sadly, the app seems to no longer be on the store – Edward Falk Apr 1 at 4:35
6

You can't use any apps like this any more. Because lots of apps abused the MEDIA_MOUNTED broadcast intent to cause a rescan of the whole filesystem (draining battery) after they only changed one file, KitKat has a new restriction that only system apps can broadcast this intent. Apps that try will get a SecurityException, which by default causes the "... has stopped" dialog.

There's an alternative mechanism for an app to say that it's changed a particular file, and cause that file to be rescanned (not recursively), but (a) there's no replacement that scans a whole filesystem, because that would be abused in the same way; and (b) it's up to the app to call this. It's not something you can change as a user.

An app that used would be able to make this work in the same way as 4.3 and earlier, but again, it would need to be specifically written to request root. Rooting the device wouldn't make your old apps start working again.

For more technical details, see How to trigger MediaScan on Nexus 7? on Stack Overflow, our sister site for programming questions.

  • This isn't an answer to the question. My media is completely inaccessible on KitKat simply because I renamed a folder. Removing the functionality without providing an alternative is completely broken. – Barry Kelly Dec 8 '13 at 0:21
3

This is a very good question and I see it is already answered. I wrote a small application to solve this problem specifically for Kit Kit(Android 4.4+). My application works on all phones.

Here:

https://play.google.com/store/apps/details?id=burrows.apps.sdcard

This works on the Nexus 5!

Please let me know if this helps you!

Disclaimer: I wrote this app.

protected by Community May 7 '14 at 20:57

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.