flutter中的jpush_flutter的 onOpenNotification跳转不执行

gzttkl
6年前 1.4k 0

在flutter中的main.dart添加推送消息代码
// //极光消息推送:
Future initPlatformState() async {
String platformVersion;

try {
  /*监听响应方法的编写*/
  jpush.addEventHandler(
    onReceiveNotification: (Map<String, dynamic> message) async {
      print(">>>>>>>>>>>>>>>>>flutter 接收到推送: $message");
      setState(() {
        debugLable = "接收到推送: $message";
      });
    },

    /// 点击通知栏消息,在此时通常可以做一些页面跳转等
    onOpenNotification: (Map<String, dynamic> message) async {
      print(">>>>>>>>>>>>>>>>>点击之后拿到的消息内容");
      Navigator.pushNamed(context, '/messageDetail', arguments: {
        "id":"1"
      });
    },
  );
} on PlatformException {Å
  platformVersion = '平台版本获取失败,请检查!';
}

}

点击推送的消息,只执行了print(">>>>>>>>>>>>>>>>>点击之后拿到的消息内容"),往下的跳转方法没有执行,这是什么原因?

3个回答

热门排序
  • 用户5783725
    2020-08-13 06:54
    刚使用,开发环境Android 10测试有效,代码如下: import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';import 'rout 展示全部
  • suyie001
    2020-01-09 01:32

    兄弟 你解决了吗,我的也是只打印,往下就不执行了。好奇怪。。。百思不得其解

  • 用户2802619
    2020-07-23 13:00

    这个问题我应该可以帮到你,不要在回调方法内执行跳转,最好的解决方案是再写一个异步的方法,然后判断当前APP运行在哪一个平台上(Android/IOS)然后根据平台的特性进行跳转,这样就能解决了。