问题描述
是否有需要调用的方法来通知操作系统已将新图像添加到照片库中?
我有一个相机应用程序,允许用户将图像导出到 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);