繁体   English   中英

在查询`MediaStore.Audio.Media.EXTERNAL_CONTENT_URI`之前,有没有办法强制系统媒体重新扫描?

[英]Is there any way to force a system media rescan before querying `MediaStore.Audio.Media.EXTERNAL_CONTENT_URI`?

我想知道是否有任何方法可以强制 Android 在查询MediaStore.Audio.Media.EXTERNAL_CONTENT_URI之前更新其媒体表。

有一个流程,用户可以通过USB从他的设备插入或删除歌曲媒体,之后媒体表不会自行更新。

也许这不是您正在寻找的答案,但是监控这些更改比以某种方式强制更新 MediaStore 更容易,您甚至可以在检测到更改时应用此方法再次进行查询。

您需要 FileObserver 来监控文件更改,但首先您需要设置它,让我解释一下。

  1. 您需要创建一个 BroadcastReceiver,它会告诉您设备何时启动。 为什么? 因为您需要知道设备何时开始监控对您的文件的更改。

  2. 然后你需要创建一个观察变化的服务,可以帮助你的类是 FileObserver、SingleFileObserver。

但这是一般性的,您可以在类似问题的此答案中看到解决方案。

如何在后台监视文件夹中的文件更改?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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