Flutter,当应用程序关闭时,深层链接在 iOS 上不起作用

问题描述 投票:0回答:1

在 Flutter 中,我使用 Navigator 2.0 和 go_router。

我希望我的应用程序中的深层链接能够正常工作,并且我的应用程序有一些属性需要在进入任何屏幕之前进行初始化,所以我将我的 MaterialApp.router(...) 放在一个条件布尔值中,并且在应用程序时显示启动画面正在初始化中。

但是当应用程序在 iOS 上关闭时,deeplink 不会重定向到给定路径,它只是打开应用程序。 在 android 中一切正常。

当我从 MaterialApp 中删除异步应用程序初始化功能时,它在 iOS 中也开始正常工作。

我做错了什么?有没有更好的方法来初始化应用程序而不是在 MaterialApp 中进行条件检查。

我已经创建了一个基本的可重现代码 repo https://github.com/sgshivamgarg8/testapp。请尝试一下。为了测试深层链接,我将所需的脚本放在脚本/文件夹中。

 Future<void> _appInit() async {
    setState(() {
      isLoading = true;
    });

    await Future.delayed(
        const Duration(seconds: 1)); // commenting this line solves the issue

    setState(() {
      isLoading = false;
    });
  }

  @override
  Widget build(BuildContext context) {
    return isLoading
        ? const CircularProgressIndicator()
        : MaterialApp.router(
            routerConfig: _router,
            title: 'Test',
            theme: ThemeData.light(),
            debugShowCheckedModeBanner: false,
          );
ios flutter deep-linking flutter-go-router
1个回答
0
投票

我也面临同样的问题。我正在使用 Uni_links。在安卓上一切正常。但是在 ios 上,单击任何深层链接都会打开应用程序,但不会打开我希望它打开的路线。它只是正常打开应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.