Android 下载后更新MediaStore.Audio

Android 下载后更新MediaStore.Audio,android,sqlite,android-contentresolver,mediastore,android-download-manager,Android,Sqlite,Android Contentresolver,Mediastore,Android Download Manager,我的目标是下载mp3文件并在MediaStore中更新其信息 问题是,当我的DownloadManager完成时,MediaStore可能仍然没有用新文件更新。这意味着当我使用目标艺术家、相册等内容值更新MediaStore时,没有MediaStore条目可更新。我也尝试过将ContentValues手动插入MediaStore,但这似乎也不起作用 @Override public void onReceive(Context context, Intent intent) { Stri

我的目标是下载mp3文件并在MediaStore中更新其信息

问题是,当我的DownloadManager完成时,MediaStore可能仍然没有用新文件更新。这意味着当我使用目标艺术家、相册等内容值更新MediaStore时,没有MediaStore条目可更新。我也尝试过将ContentValues手动插入MediaStore,但这似乎也不起作用

@Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
        /*insert or updating the MediaStore is not working here
        updating doesn't work because there is no MediaStore entry to update
        insert doesn't appear to do anything...*/
        ContentValues values = new ContentValues();
        values.put(MediaStore.Audio.Media.ARTIST, "artist");
        values.put(MediaStore.Audio.Media.ALBUM, "album");
        values.put(MediaStore.Audio.Media.DATA, "/storage/emulated/0/Music/filename");
        values.put(MediaStore.Audio.Media.IS_MUSIC, true);
        values.put(MediaStore.Audio.Media.MIME_TYPE, "audio/mp3");
        values.put(MediaStore.Audio.Media.TITLE, "title");
        getContentResolver().insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values);
    }
}
在下面的行中

getContentResolver().insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values);
将MediaStore.Audio.Media.EXTERNAL内容URI更改为

MediaStore.Audio.Media.getContentUriForPath(yourFile.getAbsolutePath());