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

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

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

解决方法:

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

Insert an image and create a thumbnail

for it.

您实际需要做的是访问Media Scanner服务.

默认情况下,该服务在启动期间或插入SD卡后运行.你可以强制它使用意图运行,但你最终重新扫描整个SD卡一个.

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

如果您正在开发API级别8或更高级别(Android 2.2),请使用

来自MediaScannerConnection的scanFile静态函数,记录为here.

对于API 7或更低版​​本,它有点复杂,但您可以使用以下帖子中最佳解释的包装器将所有内容放在一起:

dynamically add pictures to gallery widget

标签:mediastore,android,image,insert

来源: https://codeday.me/bug/20190827/1737650.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐