3

我正在使用以下代码片段在 MediaStore 缓存中插入一个图像:

MediaStore.Images.Media.insertImage(getContentResolver(), selectedFile.getParent() + file.separator + selectedFile.getName(), selectedFile.getName(),null);

插入没问题,但它还会在同一路径创建另一个图像缩略图。这在图库中不可见,但使用文件浏览器浏览时,此图像缩略图可见。如何停止在此处创建此图像缩略图以免混淆用户。

4

1 回答 1

6

的文档MediaStore.Images.Media.insertImage()说:

插入图像并为其创建缩略图。

您实际需要做的是访问 Media Scanner Service。该服务在启动期间或插入 SD 卡后默认运行。您可以使用意图强制它运行,但最终会重新扫描整个 SD 卡以获取单个。

当然,还有更好的解决方案:

如果您正在为 API 级别 8 或更高级别 (Android 2.2) 进行开发,请使用 此处记录的scanFile静态函数。MediaScannerConnection

对于 API 7 或更低版本,它有点复杂,但您可以将所有内容与包装器放在一起,最好在以下帖子中解释: 动态添加图片到图库小部件

于 2011-04-14T13:27:57.193 回答