如何在Android 4.4 KitKat中刷新/重新扫描SD内存


13

上周,我收到了Nexus 4的官方OTA KitKat更新,此后,我一直无法重新扫描SD卡。我为此任务尝试了许多不同的应用程序,但所有这些在打开时都会崩溃。一些研究表明,少数用户存在相同的问题。

这些是我尝试过的应用程序:

  • 重新扫描媒体(Aditya Talpade
  • 重新扫描SD卡!(stoopidfiG
  • 重新扫描SD媒体卡(RADEFFFACTORY
  • SDrescan(Benjamin Rosseaux我在果冻豆上的旧备用

每个应用程序在启动时崩溃。有谁能够在KitKat上刷新其SD内存?

Answers:


13

它无法检测到已删除的文件,但我只是在Play商店上安装了一个可以处理新文件和更新文件的应用程序:https//play.google.com/store/apps/details?id = com。 gmail.jerickson314.sdscanner

它采用了Dan Hulme的答案所启发的解决方法:使用仅适用于特定文件的API,但手动生成卡上文件的递归列表。这仅需要对SD卡的读取权限,而无需root用户,并且具有允许可靠的进度指示器的良好副作用。


这应该是公认的答案;丹的答案不能解决问题。问题的另一半-删除已删除的文件-通过手动清除媒体服务的缓存和数据来解决。很容易陷入被迫进行重新扫描的情况-例如,当您重命名文件夹时。
巴里·凯利

自编写此答案以来,我已经实现了读取媒体数据库的功能。据我所知,它正在检测已删除的文件。有时,删除的文件根本没有显示在媒体数据库中,我怀疑这意味着它们已被Google Play音乐或在SD Scanner到达之前被清除。
杰里米·埃里克森

烦人的是,我不得不将默认的铃声,警报,通知声音等复制到/ sdcard下的位置,才能通过“设置”再次找到它们。
巴里·凯利

可悲的是,应用程序似乎不再是在商店
爱德华·福尔克

6

您不能再使用任何类似的应用程序。由于许多应用程序MEDIA_MOUNTED仅更改一个文件后就滥用了广播意图导致重新扫描整个文件系统(耗电),因此KitKat有一个新的限制,即只有系统应用程序才能广播此意图。尝试运行的应用将获得SecurityException,默认情况下会导致“ ...已停止”对话框。

应用程序有另一种机制可以说它已更改了特定文件,并导致对该文件进行重新扫描(而不是递归扫描),但是(a)没有替代项可以扫描整个文件系统,因为这将以相同的方式被滥用; (b)取决于应用程序来调用它。您不能以用户身份更改。

使用的应用程序能够以与4.3及更早版本相同的方式进行这项工作,但是同样,需要专门编写它以请求root。根设备无法使您的旧应用重新开始运行。

有关更多技术细节,请参阅如何在Nexus 7上触发MediaScan?在我们的姊妹网站Stack Overflow上,了解编程问题。


这不是问题的答案。只是因为我重命名了一个文件夹,所以在KitKat上完全无法访问我的媒体。在没有提供替代方法的情况下删除功能已被完全破坏。
巴里·凯利

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.