Android 缩略图不是';我不能马上刷新

Android 缩略图不是';我不能马上刷新,android,thumbnails,mediastore,Android,Thumbnails,Mediastore,我正在制作一个文件管理器,其中图片项目有一个小缩略图 我使用MediaStore获取缩略图图像。一切正常。但当我重命名或移动文件时,缩略图不会显示 我找到了一段代码来刷新MediaStore: getActivity().sendBroadcast( new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));

我正在制作一个文件管理器,其中图片项目有一个小缩略图

我使用
MediaStore
获取缩略图图像。一切正常。但当我重命名或移动文件时,缩略图不会显示

我找到了一段代码来刷新MediaStore:

getActivity().sendBroadcast(
  new Intent(Intent.ACTION_MEDIA_MOUNTED, 
             Uri.parse("file://" + Environment.getExternalStorageDirectory())));
它的工作,但我必须等待4或5秒和刷新,然后缩略图更新


如何在重命名或移动后立即获取图像的缩略图?

您是否尝试过直接对正在更改的目录进行扫描?所以不是

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));
差不多

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory() + "/path/to/your/folder")));
另一种方法是手动使用。

如果您使用而不是
操作\u媒体\u挂载的
,会发生什么情况(即触发单个文件而不是整个目录层次结构的刷新)

您需要将目录的URI替换为文件的URI,例如使用


移动或重命名文件时,应刷新旧的和新的URI。

在Android中更新特定图像的推荐方法是使用ACTION\u MEDIA\u SCANNER\u SCAN\u file intent。为了更平滑

您可以在Android开发者网站上查看它

private void galleryAddPic() {
    Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
    File f = new File(mCurrentPhotoPath);
    Uri contentUri = Uri.fromFile(f);
    mediaScanIntent.setData(contentUri);
    this.sendBroadcast(mediaScanIntent);
}
如果您想立即为一些丢失的文件显示新的缩略图,您可以自己做。首先,像前面一样检查MediaStore,如果返回的缩略图为空,则使用或生成您自己的缩略图


而且,为了处理位图并显示它,安卓培训课程提供了一个安静的环境

实际上发送意图。行动、媒体、广播意图真的很难看。阅读这篇关于重命名文件的文章。您应该从库中删除旧文件,然后将新文件添加到库中。我想这对你有帮助

给它一根线。。。。。。。。。