Android 下载后更新MediaStore.Audio
我的目标是下载mp3文件并在MediaStore中更新其信息 问题是,当我的DownloadManager完成时,MediaStore可能仍然没有用新文件更新。这意味着当我使用目标艺术家、相册等内容值更新MediaStore时,没有MediaStore条目可更新。我也尝试过将ContentValues手动插入MediaStore,但这似乎也不起作用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
@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());