我正在开发一个用于下载歌曲的应用程序。我可以下载歌曲,下载完成后,我正在以编程方式将该歌曲移至不同的文件夹。
我面临的问题是,如果我将歌曲移动到另一个文件夹,它不会在 google play 音乐中显示,如果我不将它移动到另一个文件夹,它在 Google Play 音乐中可见,但如果歌曲没有移动它卸载应用程序后将被删除。请帮助我解决这个问题。我被困在这个功能中。
谢谢。
我正在开发一个用于下载歌曲的应用程序。我可以下载歌曲,下载完成后,我正在以编程方式将该歌曲移至不同的文件夹。
我面临的问题是,如果我将歌曲移动到另一个文件夹,它不会在 google play 音乐中显示,如果我不将它移动到另一个文件夹,它在 Google Play 音乐中可见,但如果歌曲没有移动它卸载应用程序后将被删除。请帮助我解决这个问题。我被困在这个功能中。
谢谢。
您需要MediaScannerConnection.scanFile()
在复制新文件后拨打电话,PlayMusic 应用程序会看到它
MediaScannerConnection.scanFile(context, new String[]{absolutePathToTheNewFile}, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
根据官方文档,如果扫描失败,Uri
传入的将为空onScanCompleted(String, Uri)
经过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 音乐库发送广播。
您的新文件夹在 SD 卡上吗?因为 Google Play 音乐应用只能看到内部存储中的歌曲,而不是 SD 卡。