当应用程序在后台时使用 uni_links

2024-04-24

我的应用程序具有以下结构:

- InheritedWidget for dependencies
--> Splash Screen Page
--> Login Pages
--> Main Pages

当应用程序第一次运行时,我可以使用var link = await getInitialLink();获取打开应用程序的链接的值。

但是,如果我在后台打开应用程序,我无法得到相同的结果。

我尝试使用

getLinksStream().listen((link) => (link) {
          try {
            var _latestUri;
            if (link != null) _latestUri = Uri.parse(link);
            print("=== Formated successfully a link!");
          } on FormatException {
            print("--- A link got here but was invalid");
          }
        });

为了获取链接Splash Screen,但如果应用程序已在Login or Main页,它不会经过Splash Screen again.

然后,我尝试将其放入InheritedWidget,但可惜的是,没有得到任何结果。

所以我的问题是:我应该在哪里以及如何设置uni_links这样即使应用程序打开我也可以捕获所有传入链接?

或者更好的是,是否有我可以使用的应用程序链接/通用链接的替代方案?


虽然这不是最好、最优雅的方式,但我解决了这个问题。

首先,我没有使用getLinksStream正确地

代替

(link) => (link) {...}

It's

(link) {...}

然后,我需要将此订阅放入我的Splash Screen并且不要丢弃它,以便它可以监听新事件。

如果大家有更好的解决方案欢迎补充

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序在后台时使用 uni_links 的相关文章

随机推荐