Android 照片库识别新添加的图像很慢缓存问题?

问题描述

是否有需要调用方法通知操作系统已将新图像添加到照片库中?

我有一个相机应用程序,允许用户将图像导出到 Android 设备照片库中的子文件夹。

复制功能正常工作,但有时可能需要 10 秒到 2 分钟,图库应用才能识别出新图像已添加文件夹中。有时我需要退出应用程序,然后在显示新图像之前返回。无论我使用三星图库应用还是 Google 照片应用,行为都是相同的,这表明它是操作系统级缓存。

我已验证图像是在 Android Studio 的设备浏览器中立即写入的。

解决方法

您可以使用以下代码将当前项目添加到操作系统的缓存中:

           // Add the file to the media database
            var f = new Java.IO.File(fileInTargetDirectory);
            var intent = new Intent(Intent.ActionMediaScannerScanFile);
            intent.SetData(Android.Net.Uri.FromFile(f));
            CrossCurrentActivity.Current.Activity.SendBroadcast(intent);