通知图像内容提供程序有关外部存储上的新文件



我应该如何通知图像内容提供商,我刚刚在图片目录中保存了一个文件?例如,我希望类似图库的应用程序能够看到我的新文件。

Uri uri = Uri.fromFile(file);
getContext().getContentResolver().notifyChange(uri, null);

我在某处找到的(Vogella? (似乎不起作用。还是从一开始就是错误的方法?

图像通知是在将图像插入媒体数据库完成的。这通常由安卓系统媒体扫描仪在找到图像时完成。

您可以编写自己的代码将图像插入媒体数据库,然后调用getContext().getContentResolver().notifyChange(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null);来通知某些图像已更改,而无需具体说明哪个图像。

如果修改了媒体数据库中已有的图像,则必须将文件 uri 转换为 content: uri。getContext().getContentResolver().notifyChange(imageContentUri, null);.

如果您正在实施 android-4.4 或更高版本,您可以要求媒体扫描程序(重新(分析您的文件。有关详细信息,请参阅如何在 Nexus 7 上触发 MediaScan?。在 android-4.4 之前,这可能无法按预期工作(即在我的 android-4.2 上,它开始完全重新扫描(

相关内容

最新更新