Mediastore扫描不会注意到mp3专辑图片标记

时间:2013-09-15 19:43:20

标签: android android-layout

我的代码行为在单个MP3文件的图稿上发生了变化。通过在我的电脑上打开MP3文件,艺术品得到了改变,但是通过在Android设备上打开MP3文件没有任何反应。显示的艺术品仍然是旧的。

我试过了:

Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
File f = new File(song_path);
Uri contentUri = Uri.fromFile(f);
mediaScanIntent.setData(contentUri);
FindCoverActivity.this.sendBroadcast(mediaScanIntent);

但没有任何事情发生。

我尝试了另一件事:通过更改艺术品和专辑的名称,媒体商店立即注意到了发生了什么,并再次打开Android手机上的mp3文件,艺术品将正确显示新的艺术品。但是我的目标不是改变像专辑名称这样重要的mp3标签。这可能是一个错误或有任何建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试MediaScannerConnection及其scanFile()方法而不是ACTION_MEDIA_SCANNER_SCAN_FILE,看看您是否有更好的结果。

此外,请确保在保存修改后的图稿时更改了文件的上次修改时间戳。我不是这种MP3文件修改的专家,但是如果那里有时间戳标记,你也可以考虑更新那个时间戳。基本上,您需要确保MediaStore意识到存在需要更新其元数据的更改。

如果所有其他方法都失败了,您可以尝试制定一种方法,暂时以较小的方式修改相册名称(例如,附加空格),然后将其更改回来。这是一个黑客,但它可能是你唯一可靠的选择。