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

时间:2013-06-30 13:50:14

标签: java android

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

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

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

1 个答案:

答案 0 :(得分:6)

您需要通知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,但这是一个很好的选择。