You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Flutter Web唤起Windows/Mac本地已安装AutoCAD应用的技术咨询

Flutter Web唤起本地AutoCAD应用方案解答

问题1:是否存在从Flutter Web点击按钮唤起Windows/Mac本地已安装应用的方法?

存在,核心是利用系统的自定义URL协议。AutoCAD在安装时会自动向系统注册acad://协议(Windows和Mac平台均支持),浏览器可以通过触发该协议链接唤起本地AutoCAD应用。

在Flutter Web中,可通过以下方式实现:

  • 引入dart:html库,在按钮点击事件中调用:
import 'dart:html' as html;

// 按钮点击回调
void launchAutoCAD() {
  html.window.open('acad://', '_blank');
}
  • 也可以创建隐藏的<a>标签模拟点击,降低浏览器拦截概率:
void launchAutoCAD() {
  final anchor = html.AnchorElement(href: 'acad://')
    ..target = '_blank'
    ..style.display = 'none';
  html.document.body?.append(anchor);
  anchor.click();
  anchor.remove();
}

注意:部分浏览器会拦截此类本地应用唤起请求,需要用户手动允许弹窗。

问题2:是否有可用的Flutter包支持该功能?

没有专门针对AutoCAD唤起的Flutter包,通用的URL唤起类包在Web平台的底层逻辑也和上述原生Web API调用一致,因此无需额外引入第三方包,直接用dart:html实现即可。

问题3:是否需要编写原生代码?

不需要。Flutter Web场景下所有逻辑都在Web层面完成,仅需通过Dart调用Web API触发自定义URL协议,无需编写Android/iOS原生代码。但需确认:

  • 用户系统已安装AutoCAD,且acad://协议关联正常;
  • 部分AutoCAD版本可能协议细节有差异,建议针对目标版本做测试。

内容的提问来源于stack exchange,提问作者Bill_The_Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 21:01:07