flutter:firebase消息导航器无法正常工作

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

我有一个实现firebase消息传递的问题。

当应用程序在前台通知数据中打印出调试日志,但导航器无法正常工作。当在后台和通知中应用程序被点击时,在调试日志中打印的通知数据但导航器不起作用。

这是我的代码

@override
  void initState() {
    // TODO: implement initState
    super.initState();
    initiateData();
  }

  initiateData() async{
    firebase = new FirebaseMessaging();
    firebase.configure(
      onLaunch: (message){
        Log.write("on launch fcm");

      },

      onMessage: (message){
        Log.write("on message fcm");
        Log.write(json.encode(message));


        TanamDuitNavigator.present(context,
          child: new FullWebPages(
            language: "id",
            url: "https://example.com",
          )
        );
      },
      onResume: (message){
        Log.write("on resume fcm");
      }
    );
    firebase.requestNotificationPermissions();
    firebase.onIosSettingsRegistered.listen(
      (IosNotificationSettings setting){
        Log.write("Setting registered : $setting");
      });
    firebase.getToken().then((token){
      Log.write("fcm token : "+token);
      TanamStore.saveFcmToken(token);
    }).timeout(const Duration(seconds: 5));
  }

这就是TanamduitNavigator实际呈现的内容

static Future<dynamic> present(BuildContext context,
    {bool opq = false,
     Widget child,
     Widget curPage,
     Color barrier = ColorCollections.blackBarrier
    }
  ){
    return Navigator.of(context).push(new PageRouteBuilder(
      opaque: opq,
      pageBuilder: (_,Animation<double> animation,__){
        return child;
      },
      barrierColor: barrier,
      barrierDismissible: false,
      transitionsBuilder: (_,Animation<double>animation,__,Widget child){
        return new FadeTransition(
          opacity: animation,
          child: new SlideTransition(
            position: new Tween<Offset>(begin: new Offset(0.0, 0.5), end: new Offset(0.0, 0.0)).animate(animation),
            child: child,
          ),
        );
      },
      transitionDuration: const Duration(milliseconds: 200),
    ));
  }

在构建方法中,我调用了新对象MaterialApp。知道为什么导航仪无法工作吗?

谢谢

firebase dart firebase-cloud-messaging flutter
1个回答
0
投票

我已经解决了它更可能是关于堆栈路由。

因为我构建非线性导航应用程序,所以我配置每个父页面。这是工作。

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