Ben*_*ean 7 flutter flutter-desktop
我有一个应该打开某些文件类型的应用程序。从应用程序本身来看,使用file_picker插件非常简单。但是如何通过文件管理器打开文件呢?换句话说,通过“打开方式”上下文菜单。
我尝试检查传递给 的参数main,但它们始终为空。注册通用链接也没有多大意义,因为我只需要传递文件 - 仅此而已。
tsi*_*ixe -1
if (await canLaunch("file://..path...xlsx")) {
await launch("file://..path...xlsx");
} else {
print("cannot launch url ]:");
}
Run Code Online (Sandbox Code Playgroud)
这个简单的代码片段基本上可以在 Windows 和 Mac 操作系统上运行!如果您可以使用经典的 path_provider 处理路径,您也可以在 web、ios、android 上使用相同的功能。在我的测试中,当我键入并输入网址时,网络会下载该文件file://。
所以,我猜uri 方案就是执行这些技巧的人。我尝试了几种类型的文件,正如我所评论的,Excel 工作得很好,查找器(或文件资源管理器)也可以工作。在我的测试中,pptx 甚至可以使用文件 url。是的,它会打开本机应用程序。我找不到“打开方式..”选项,但这意味着它会自动在Excel中打开xlsx文件(即ATM,我没有任何选项来启动“打开方式..”弹出窗口) 。
同样,我什至可以发现instagram://也适用于 url 启动器。一件意想不到的困难是在 mac os 桌面上设置正确的路径。由于该应用程序正在由 Apple 先生之前分配的某个地方进行调试,因此只需从 path_provider 调用方法就会返回远离桌面路径(主屏幕)的路径,因为该应用程序正在其他地方运行(例如对于 mac /Users/${MacOsUser}/Library/Containers/${fullPackagePath}/Data/Documentsos,这会有所不同)分发阶段)。
希望这会有所帮助。仅供参考,我无法battle.net使用此方法启动英雄联盟,该方法不会在文件资源管理器中显示其扩展名]:祝你有美好的一天[:
| 归档时间: |
|
| 查看次数: |
4156 次 |
| 最近记录: |