我的应用程序具有以下结构:
- 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(使用前将#替换为@)