我一直在尝试为Android创建一个简单的MP3下载器。它只是连接到URL,下载轨道并根据名称猜测ID3信息。我的应用程序的问题是,一旦下载了一首歌曲,它就不会立即显示在Google音乐应用中,也不会显示在默认的音乐播放器应用程序中。我甚至尝试了其他一些没有运气的人,他们都没有重新索引它。
我唯一注意到的是当我将歌曲从SD卡上的Music文件夹复制/移动到SD卡的根目录时,它正确地重新编制了整个库的索引。这让我觉得它可能没有警告任何文件监听器。
我的问题是:如何将歌曲保存到音乐文件夹,并让音乐播放器更新其索引?提前谢谢。
答案 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,但这是一个很好的选择。