навигация по динамической ссылке flutter завершается ошибкой, когда приложение запущено, а ссылка уже используется

# #firebase #flutter #dart #firebase-dynamic-links

Вопрос:

я использую динамические ссылки flutter, навигация работает нормально, если приложение закрыто. но когда приложение открыто и динамическая ссылка уже используется, в этом случае навигация завершается неудачно.

вот мой код

 loadingscreen.dart

Future<void> initDynamicLinks() async {
    print("initDynamicLinks");
    //when app is in background
    FirebaseDynamicLinks.instance.onLink(
        onSuccess: (PendingDynamicLinkData? dynamicLink) async {
      final Uri? deepLink = dynamicLink?.link;

      if (deepLink != null) {
        // ignore: unawaited_futures
  
        _handleDynamicLink(deepLink);
      } else {
        _navigateToHomePage();
      }
    }, onError: (OnLinkErrorException e) async {
      print('onLinkError');
      print(e.message);
    });
    // app in forground
    final PendingDynamicLinkData? data =
        await FirebaseDynamicLinks.instance.getInitialLink();
    final Uri? deepLink = data?.link;

    if (deepLink != null) {
      // ignore: unawaited_futures
      _handleDynamicLink(deepLink);
    } else {
      _navigateToHomePage();
    }
  }

  _navigateToHomePage() {
    Navigator.pushReplacement(
      context,
      MaterialPageRoute(
        builder: (context) => HomeScreen(
          deepLinkId: 0,
        ),
      ),
    );
  }

  _handleDynamicLink(Uri url) {
    String? storyId = url.queryParameters['storyId'];
    int deepLinkId = int.parse('$storyId');
    Navigator.pushReplacement(
      context,
      MaterialPageRoute(
        builder: (context) => HomeScreen(
          deepLinkId: deepLinkId,
        ),
      ),
    );
  }
 

контекст недоступен? в этом ли причина? может ли кто-нибудь помочь здесь?