Flutter / dart :/storage/implemented/0/DCIM/Camera Path不返回文件

14ifxucb  于 2023-06-19  发布在  Flutter
关注(0)|答案(1)|浏览(160)

我试图让所有的照片和视频存储在Android手机的画廊.我尝试了下面的代码,但它不返回任何文件。

Future<void> getCameraDirectoryFiles() async {
  List<String> files = [];
  String path;

  path = await ExternalPath.getExternalStoragePublicDirectory(
      ExternalPath.DIRECTORY_DCIM);
  String galleryPath = path + '/Camera';
  Directory directory = Directory(galleryPath);
  List<FileSystemEntity> fileList = directory.listSync(recursive: true);
  for (FileSystemEntity entity in fileList) {
    if (entity is File) {
      files.add(entity.path);
    }
  }
}

所以基本上我得到了DCIM目录的路径,并将Camera附加到其中,并试图从Camera Directory中获取文件列表。它不显示任何错误,只是返回0,即使我有1000+图像在我的手机。
注意:我在真实的的Android手机上测试,而不是在模拟器上。

eqzww0vc

eqzww0vc1#

只是为了将来遇到这个问题的人更新答案。
我尝试使用targetedSDK版本33,它没有显示存储权限对话框。因为权限问题,我没有得到文件。
解决方案:我将targetedSDK版本更改为32,它工作了!

相关问题