微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

应用程序保存的图像未显示在图库中

如何解决应用程序保存的图像未显示在图库中

我试图在Flutter中创建一个whatsapp状态保护程序。我试图保存 whatsapp 状态。我在 /storage/emulated/0/statuses/ 中创建了一个文件夹 statuses 并且复制过程顺利。但该图像未显示在图库应用中。

所以我什至尝试将它存储在 DCIM/Camera 中,但它仍然没有出现在那里。但是当使用文件资源管理器复制相同的图像时,该图像会显示在图库应用程序中。我认为图片属性有问题。

用于保存的代码在这里

saveFile(filePath) async {
    String newFilename;
    File originalFile = File(filePath);
    Directory _directory = await getExternalStorageDirectory();
    if (!Directory("/storage/emulated/0/statuses/").existsSync()) {
      Directory("/storage/emulated/0/statuses/")
          .createSync(recursive: false);
    }
    String curDate = DateTime.Now().toString();
    newFilename = "/storage/emulated/0/statuses/VIDEO-$curDate.jpg";

    await originalFile.copy(newFilename).then((value) {
      print("Saved: " + newFilename);
    });
  }

解决方法

当您更换媒体时,您应该告诉设备重新扫描。此 image saver plugin 将通知 Android 操作系统有关已保存媒体的信息。

如果你不想要插件,你可以使用平台渠道自己编写原生代码。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,Uri.parse("file://" + Environment.getExternalStorageDirectory())));

此问题已在 herehere 中讨论。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。