6

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

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

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

4

1 回答 1

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,但他们这样做是一个不错的选择。

于 2013-06-30T15:00:49.003 回答