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

Image saved by the app doesn't show up in the gallery

我试图在 flutter 中创建一个 whatsapp 状态保护程序。我试图保存 whatsapp 状态。我在 /storage/emulated/0/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 OS 有关已保存的媒体。

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

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

讨论了这个问题 and here