gpt4 book ai didi

java - 通知图像 ContentProvider 有关外部存储上的新文件的信息

转载 作者:行者123 更新时间:2023-12-01 20:18:16 24 4
gpt4 key购买 nike

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

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

我在某个地方(Vogella?)找到的似乎不起作用。还是从一开始就采取了错误的做法?

最佳答案

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

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

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

如果您正在实现 android-4.4 或更高版本,您可以要求媒体扫描仪(重新)分析您的文件。详情见How to trigger MediaScan on Nexus 7? 。在 android-4.4 之前,这可能无法按预期工作(即在我的 android-4.2 上,它会启动完整的重新扫描)

关于java - 通知图像 ContentProvider 有关外部存储上的新文件的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45329044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com