添加歌曲后,Android音乐播放器无法重新编制索引

我一直在尝试为Android创建一个简单的MP3下载器。 它只是连接到URL,下载轨道并根据名称猜测ID3信息。 我的应用程序的问题是,一旦下载了一首歌曲,它就不会立即显示在Google音乐应用中,也不会显示在默认的音乐播放器应用程序中。 我甚至尝试了其他一些没有运气的人,他们都没有重新索引它。

我唯一注意到的是当我将歌曲从SD卡上的Music文件夹复制/移动到SD卡的根目录时,它正确地重新索引整个库。 这让我觉得它可能不会警告任何文件监听器。

我的问题是:如何将歌曲保存到音乐文件夹,并让音乐播放器更新其索引? 先谢谢你。

您需要通知MediaScanner已添加新文件,并且应将其编入索引,以便它显示在MediaStore

最简单的方法是在下载文件后发送广播:

 Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); intent.setData(Uri.fromFile(file)); sendBroadcast(intent); 

http://developer.android.com/reference/android/content/Intent.html#ACTION_MEDIA_SCANNER_SCAN_FILE

假设“其他音乐播放器”使用MediaStore,但他们这样做是个不错的选择。