1

我正在开发一个用于下载歌曲的应用程序。我可以下载歌曲,下载完成后,我正在以编程方式将该歌曲移至不同的文件夹。

我面临的问题是,如果我将歌曲移动到另一个文件夹,它不会在 google play 音乐中显示,如果我不将它移动到另一个文件夹,它在 Google Play 音乐中可见,但如果歌曲没有移动它卸载应用程序后将被删除。请帮助我解决这个问题。我被困在这个功能中。

谢谢。

4

3 回答 3

1

您需要MediaScannerConnection.scanFile() 在复制新文件后拨打电话,PlayMusic 应用程序会看到它

MediaScannerConnection.scanFile(context, new String[]{absolutePathToTheNewFile}, null, new MediaScannerConnection.OnScanCompletedListener() {
    public void onScanCompleted(String path, Uri uri) {

    }

});

根据官方文档,如果扫描失败,Uri传入的将为空onScanCompleted(String, Uri)

于 2017-02-27T12:46:41.137 回答
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 音乐库发送广播。

于 2017-02-28T10:10:26.463 回答
0

您的新文件夹在 SD 卡上吗?因为 Google Play 音乐应用只能看到内部存储中的歌曲,而不是 SD 卡。

于 2018-11-06T05:52:23.100 回答