macOS 上的 Flutter:如何实现文档的“在 Finder 中显示”?

问题描述 投票:0回答:1

可处理文件的 Flutter 桌面 macOS 应用程序。
如何实现标准的“在 Finder 中显示”调用以打开包含文件和所选文件的文件夹的 Finder 窗口?

也许如何使其跨平台以在 Windows 上运行时“在资源管理器中显示”?

flutter finder flutter-macos
1个回答
0
投票

我不知道在 dart/flutter 中实现此目的最惯用的方法,但我尝试了从 Flutter 应用程序运行不同的 shell 命令,从这个角度来看,最简单的方法就是调用

open -R /path/to/file
(在 macOS 上) .

这是此方法的代码示例:

// This package is for running shell commands
// flutter pub add process_run
import 'package:process_run/shell.dart';

Future<void> revealFile(String filePath) async {
  final shell = Shell();
  if (Platform.isMacOS) {
    try {
      await shell.run('''
        open -R $filePath
      ''');
    } catch (e) {
      throw 'Could not reveal file: $e';
    }
  // Add branches of code for another platforms here.
  } else {
    throw 'Unsupported platform';
  }
}

我自己不是 Windows 用户,我不知道那里的命令,但如果你有它(我打赌应该有一个类似的),你将添加另一个

if
并使用此命令启动 shell,它应该可以工作也是。

© www.soinside.com 2019 - 2024. All rights reserved.