我按照以下指南在我的 Flutter 项目中设置动态链接。动态链接有效并将我带到应用程序中的所需位置,但问题是每次我重新打开应用程序时,都会再次触发动态链接。下面的代码块是在应用程序恢复时触发链接的内容。 我该怎么做才能让应用知道如果链接没有被点击,不要带我到动态链接位置?
@override
void didChangeAppLifecycleState(AppLifecycleState state) async{
if (state == AppLifecycleState.resumed) {
_timerLink = new Timer(
const Duration(milliseconds: 1000),
() {
_dynamicLinkService.retrieveDynamicLink(context);
},
);
}
}
答案 0 :(得分:0)
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
//calls the link on app, from app closed
_dynamicLinkService.initDynamicLinks(context);
WidgetsBinding.instance.removeObserver(this);
}
我遇到了同样的问题,但它似乎来自我在 initState 中的调用。我通过在 dynamicLinkService 调用后移除观察者解决了这个问题。
我还有 didChangeAppLifecycleState 方法,该方法在应用程序打开时负责 Deeplink。