我正在开发一个用于下载歌曲的应用。我可以下载歌曲,下载完成后,我会以编程方式将该歌曲移动到另一个文件夹。
我面临的问题是,如果我将歌曲移动到另一个文件夹,它在Google Play音乐中不会显示,如果我不将其移动到另一个文件夹,则可以在Google Play音乐中看到它,但如果该歌曲是没有移动它会在卸载应用程序后被删除。 请帮我解决这个问题。我陷入了这种功能。
感谢。
答案 0 :(得分:1)
您需要在复制新文件后调用MediaScannerConnection.scanFile()
并且PlayMusic应用会看到它
MediaScannerConnection.scanFile(context, new String[]{absolutePathToTheNewFile}, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
根据official docs,如果扫描失败,传入Uri
的{{1}}将为空
答案 1 :(得分:1)
搜索3天后。我终于得到了解决方案。
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "/FolderName/"+inputFile)));
context.sendBroadcast(intent);
下载和移动完成后,我将广播发送到默认的Google音乐库。
答案 2 :(得分:0)
您的新文件夹在SD卡上吗? 因为Google Play音乐应用只能在内部存储中看到歌曲,而不能在SD卡中看到歌曲。