【问题标题】:path_provider getExternalStorageDirectories() returns only one directorypath_provider getExternalStorageDirectories() 只返回一个目录
【发布时间】:2021-05-27 08:50:14
【问题描述】:

我希望它会返回设备内部存储中各种目录的列表。相反,它返回应用程序目录本身的路径。我尝试使用for 循环和forEach 但都只返回一个目录。

void getFiles() async {
    var directories = await getExternalStorageDirectories();
    directories!.toList();
    for (var i = 0; i < directories.length; i++) {
      print(directories);
    }

    directories.forEach((element) {
      print(element);
    });
  }

我还尝试了以下方法:

for (var i = 0; i < directories.length; i++) {
      print(directories[i].path);
}
for (var i = 0; i < directories.length; i++) {
      print(directories[i]);
}

四个都返回同一个目录:

'/storage/emulated/0/Android/data/com.example.app/files'

如何列出所有目录?

【问题讨论】:

    标签: flutter dart plugins


    【解决方案1】:

    如果您想获取目录的子目录,请执行以下操作:

    List sublist = await Directory(directories[i].path).list().map((event) => event.path).toList();
          for (var j = 0; j < sublist.length; j++) {
            print(sublist[j]);
          }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-25
      相关资源
      最近更新 更多