Dart 如何打开本机文件资源管理器在Flatter中定位目录?

Dart 如何打开本机文件资源管理器在Flatter中定位目录?,dart,flutter,Dart,Flutter,有没有办法调用本机文件资源管理器并获取选定的目录路径?我也在寻找同样的东西,但找不到UI类型的插件,所以我构建了一个或多或少是文件资源管理器的页面。 我利用该插件获取所需目录中的文件列表,然后通过ListView.builder将(未来)列表返回到一系列ListTile中 List<FileSystemEntity> _fileList; Future<void> _loadFiles() async { _loadingFiles = true; var r

有没有办法调用本机文件资源管理器并获取选定的目录路径?

我也在寻找同样的东西,但找不到UI类型的插件,所以我构建了一个或多或少是文件资源管理器的页面。 我利用该插件获取所需目录中的文件列表,然后通过ListView.builder将(未来)列表返回到一系列ListTile中

List<FileSystemEntity> _fileList;

Future<void> _loadFiles() async {
  _loadingFiles = true;

  var root = await getExternalStorageDirectory();
  _fileList = await FileManager(root: root).walk().toList();

  _loadingFiles = false;

  this.setState(() {});
}
List\u文件列表;
Future\u loadFiles()异步{
_loadingFiles=true;
var root=await getExternalStorageDirectory();
_fileList=await FileManager(root:root).walk().toList();
_loadingFiles=false;
this.setState((){});
}
一旦您拥有了_fileList对象,您几乎可以做任何您想做的事情。 例如,我在AppBar中添加了一个PopupMenuButton,并在该按钮下允许文件删除、打开等操作


对于_fileList列表中的每个项目,您还可以在您的ListTile中显示文件名、大小、修改日期等。

我没有找到正式的方法,所以我用了另一种方法。我使用了库“”,通过“Directory”方法,例如通过方法“Directory.list”获取目录中的文件。通过这种方式,您可以遍历所有目录和文件。然后写一个页面来显示目录,从而达到本机文件浏览的效果。另外,别忘了权限

_getSDCardDirectory() async {
  Directory directory = await getExternalStorageDirectory();
  print(directory.path);
  await directory.list().toList().then((filesList) => print(filesList));
  print(directory.parent.path);
}

在kotlin/java中编写一个方法,并通过MethodChannel从Flatter调用它。 启动本机文件管理器,如下所示

startActivity(new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS));
请参阅下面的链接,以了解有关该软件包可能正是您所寻找的软件包的详细信息。