windows - 通过自定义模式打开 Flutter 应用程序窗口
问题描述
一些 Windows 应用程序(如电报)可以通过浏览器使用自定义架构 url 打开。当我在我的 Windows 电脑上安装电报并进入tg://
浏览器时,它可以最大化电报应用程序或运行电报应用程序(如果它尚未启动)。
在 Flutter 应用中,我们可以在其文档的帮助下使用 android 和 iOS 的深度链接
但是如何打开带有深层链接的颤振窗口应用程序?
解决方案
正如我发现 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>
推荐阅读
- c# - 想拿起工具或枪支,但想在统一 c# 中一次只选择一个
- c# - Opentap 无法将“[name].dll”复制到“bin\Debug\Dependencies\[Name].dll”。重试次数超过 10。失败
- ios - 如何在 UICollectionView 中的部分上绘制角和阴影?
- c# - 如何对涉及一些操作的键值对列表进行排序
- typescript - 调用动态函数时保持当前类上下文
- angular - 如何在 Angular 11 版本中使用 Clam AV
- java - Maven 不会使用 module-info 编译项目。有“找不到符号”和“javafx 包 XY 不存在”
- laravel - 如何在 laravel 项目中的 VueJS 上使用 Font Awesome 5
- angular - ControlValueAccessor 和 FormControl 值不同步
- android - 如何将 Android 键码映射到 Unity 键码?