首页 > 解决方案 > 通过自定义模式打开 Flutter 应用程序窗口

问题描述

一些 Windows 应用程序(如电报)可以通过浏览器使用自定义架构 url 打开。当我在我的 Windows 电脑上安装电报并进入tg://浏览器时,它可以最大化电报应用程序或运行电报应用程序(如果它尚未启动)。

在 Flutter 应用中,我们可以在其文档的帮助下使用 android 和 iOS 的深度链接

但是如何打开带有深层链接的颤振窗口应用程序?

标签: windowsflutterdeep-linkingflutter-windows

解决方案


正如我发现 Flutter Windows 应用程序中的深度链接支持很复杂。您应该制作自定义注册表条目以将您的 URI 方案与您的应用程序相关联。您需要将此添加到 Windows 应用程序。本说明可以帮助您。为了在你的颤振应用程序中处理它,你应该编写一些 C++ 代码来移植你需要颤动的数据。
这个包将这个 sdk 移植到移动和 web 上:flutter-branch-sdk

在通用 Windows 应用程序 (UWP) 中处理深层链接要容易得多,但它处于颤振开发通道中,并且还不稳定,并且还不受其他 3rd 方包的支持。
您可以通过此指令激活 uwp, 并通过运行以下命令在现有项目中创建 uwp:

颤振创建--platforms=winuwp

要在“winuwp/runner_uwp/appxmanifest.in”中添加深层链接,请进行以下更改:

<Packages 
 ...
 xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
 xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
 IgnorableNamespaces="uap uap2 uap3 mp">
<Application>
<Application Id="App" ...
<Extensions>
    <uap3:Extension Category="windows.appUriHandler">
      <uap3:AppUriHandler>
        <uap3:Host Name="flungoportfolio.com" />
      </uap3:AppUriHandler>
  </uap3:Extension>
  </Extensions>
</Application>
</Application>

如何在 UWP 中添加深层链接。


推荐阅读