在我在 Flutter 中打开 Google Photos 之前,Multi Image Picker 无法找到我的图片
Posted
技术标签:
【中文标题】在我在 Flutter 中打开 Google Photos 之前,Multi Image Picker 无法找到我的图片【英文标题】:Multi Image Picker doesn't locate my image until I open Google Photos in Flutter 【发布时间】:2020-01-19 15:29:16 【问题描述】:我使用multi_image_picker 允许在我的 Flutter 应用中选择图像。
当我下载图像并将其存储在设备的Download
文件夹中时,我注意到奇怪的行为,并且发生了以下情况:
-
下载图像后,我触发图像选择器(通过运行
MultiImagePicker.pickImages
)。
图像选择器不显示图像,这很奇怪,因为我已经下载了图像。
我正在导航到 android 文件应用,我确实找到了图片。
重新启动我的应用并再次导航到图像选择器,但仍然 - 图像不存在。
打开 Google 相册应用,一秒钟后出现图片。
导航回我的应用 -> 图像选择器,然后我看到了图像。
我知道这听起来很奇怪。我不知道它是如何或为什么会发生的。我正在使用 Flutter 1.10.3 和一个新的 Android API 28 模拟器。我也在 Android Q 上运行了这个应用,结果是一样的。
【问题讨论】:
尝试打开问题at the plugin repository 可能是浏览器没有使用ContentProvider#insertImage 进行条目。关于 Google 照片,它会跟踪存储中的所有新旧照片和视频,如果在 ContentProvider 中找不到条目,它会创建一个新条目,以便 MultiImagePicker 等其他应用可以访问照片或视频。 @MayurPrajapati 你有解决办法吗? 我已经看到multi_image_picker 的代码它正在使用内容提供程序并且它们没有更新,因此您可能可以使用另一个插件直接从 Google 照片或图库中获取照片,例如image_picker 【参考方案1】:看起来您的下载目录和 GooglePhotos 同步目录位于两个不同的位置,MultiImage.pickImages 正在查看 GooglePhotosSync 目录(也可能是设备 CameraRoll 目录)。
因此,您依赖 GooglePhotos 从一个地方上传照片并将其下载到另一个地方。
我的大部分工作都是 ios 很抱歉我不能更具体。
【讨论】:
图像停留在原处,它被机器人复制到不同的文件夹中,并且多图像选择器指向原始 url,所以我相信你的答案不正确。 很好地测试我的理论。你可以下载一张照片,把你的手机调成飞行模式,让你的谷歌照片跳舞,然后重新启动应用程序。这将告诉您是云同步还是缓存问题。【参考方案2】:我观察到在从图库中挑选图片时某些照片未显示的类似行为。
我在 5 分钟前才找到原因,然后问“您找到解决方案了吗?”
事实证明,颤动的图像选择器从“最近”文件夹开始,我最近下载的照片的时间戳要旧得多。所以这些照片在列表中更靠后。
我会研究解决方案。
【讨论】:
以上是关于在我在 Flutter 中打开 Google Photos 之前,Multi Image Picker 无法找到我的图片的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:将 iOS 上的 Google Maps SDK 从 3.9.0 更新到 4.1.0.0
Flutter:当我的应用不在前台时如何显示横幅(如地图/谷歌地图)?
Flutter的flutter_google_map_view小部件中的群集标记