音乐文件在 Google 播放音乐中不可见
Music Files not getting visible in Google Play music
我正在开发一个用于下载歌曲的应用程序。我可以下载歌曲,下载完成后,我将以编程方式将该歌曲移动到其他文件夹。
我面临的问题是,如果我将歌曲移动到另一个文件夹,它在 google 播放音乐中不可见,如果我不将它移动到另一个文件夹,它在 Google 播放音乐,但如果歌曲没有被移动,一旦应用程序被卸载,它就会被删除。
请帮我解决这个问题。我卡在这个功能里了。
谢谢。
您需要在复制新文件后调用 MediaScannerConnection.scanFile()
,PlayMusic 应用会看到它
MediaScannerConnection.scanFile(context, new String[]{absolutePathToTheNewFile}, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
根据official docs,如果扫描失败
,传入onScanCompleted(String, Uri)
的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 Music 应用程序只能看到内部存储中的歌曲,不能看到SD 卡中的歌曲。
我正在开发一个用于下载歌曲的应用程序。我可以下载歌曲,下载完成后,我将以编程方式将该歌曲移动到其他文件夹。
我面临的问题是,如果我将歌曲移动到另一个文件夹,它在 google 播放音乐中不可见,如果我不将它移动到另一个文件夹,它在 Google 播放音乐,但如果歌曲没有被移动,一旦应用程序被卸载,它就会被删除。 请帮我解决这个问题。我卡在这个功能里了。
谢谢。
您需要在复制新文件后调用 MediaScannerConnection.scanFile()
,PlayMusic 应用会看到它
MediaScannerConnection.scanFile(context, new String[]{absolutePathToTheNewFile}, null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
根据official docs,如果扫描失败
,传入onScanCompleted(String, Uri)
的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 Music 应用程序只能看到内部存储中的歌曲,不能看到SD 卡中的歌曲。