ACTION_MEDIA_SCANNER_SCAN_FILE无法将文件添加到MediaStorage

时间:2018-06-11 02:24:41

标签: android mediastore

我有以下一行

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + fileOnDownload)));

其中fileOnDownload是文件的路径,如下所示:

/storage/emulated/0/Downloads/song.mp3

但有时在发送广播时,它不会重新加载MediaStore(至少在Android O上)
您可以看到完整代码here
我对Android MediaStore很陌生,所以请不要太粗鲁,请:)

1 个答案:

答案 0 :(得分:1)

试试这段代码:

Intent intent = 
      new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);

如果以上代码不起作用,您可以尝试使用MediaScannerConnection!

这是一个很好的教程:

https://www.grokkingandroid.com/adding-files-to-androids-media-library-using-the-mediascanner/