在我在 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 App 中的 Google 地图未显示

Flutter:将 iOS 上的 Google Maps SDK 从 3.9.0 更新到 4.1.0.0

Flutter:当我的应用不在前台时如何显示横幅(如地图/谷歌地图)?

Flutter的flutter_google_map_view小部件中的群集标记

用于 Google Pay 的 Flutter 应用内购买工具

如何打印几个标记google map api 0.5.7 Flutter