每次打开应用程序时都会触发 Flutter 动态链接

时间:2021-04-10 04:34:13

标签: firebase flutter firebase-dynamic-links

我按照以下指南在我的 Flutter 项目中设置动态链接。动态链接有效并将我带到应用程序中的所需位置,但问题是每次我重新打开应用程序时,都会再次触发动态链接。下面的代码块是在应用程序恢复时触发链接的内容。 我该怎么做才能让应用知道如果链接没有被点击,不要带我到动态链接位置?

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) async{
    if (state == AppLifecycleState.resumed) {
      _timerLink = new Timer(
        const Duration(milliseconds: 1000),
            () {
           _dynamicLinkService.retrieveDynamicLink(context);
        },
      );
    }
  }

来源: Firebase-flutter-dynamic-links-step-by-step-guide

1 个答案:

答案 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。