当应用程序不在后台时(应用程序关闭/终止),深度链接不起作用



我已经实现了这个方法,这样当用户单击动态链接时,它将被重定向到特定的页面。应用程序运行时一切正常,但当我关闭/关闭应用程序并尝试做同样的事情时,它会在初始屏幕上打开应用程序(主页(。在这种情况下,我该如何使其工作?

Future<void> initDynamicLinks() async {
FirebaseDynamicLinks.instance.onLink.listen((dynamicLinkData) {
id = dynamicLinkData.link
.toString()
.substring(dynamicLinkData.link.toString().lastIndexOf('/') + 1);
Get.to(
() => Page(
id: id,
),
);
}).onError((error) {
if (kDebugMode) {
print(error.message);
}
});
}
void initState() {
// TODO: implement initState
initDynamicLinks();
super.initState();
}

我认为只有当应用程序从后台恢复时,.onLink.listen()功能才会受到影响。如果你想让你的深度链接在应用程序有一个新的开始时工作,那么只需将此代码放在.onLink.listen()函数之上。。。

WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
final PendingDynamicLinkData data = await FirebaseDynamicLinks.instance.getInitialLink();
final Uri deepLink = data?.link;
// Here you should navigate to your desired screen

希望它能帮助你

最新更新