Flutter 在JMLink监听事件里跳转页面不生效

新手上路,请多包涵

应用场景是:
从H5页面打开极光魔链的短链接唤醒APP,进入APP后根据魔链传递的参数跳转到另一个页面;
出现的问题是:
执行了跳转方法,但是页面没有实际跳转

在app入口初始化:


import 'package:jmlink_flutter_plugin/jmlink_flutter_plugin.dart';

JMLConfig config = new JMLConfig();
config.appKey = "极光appKey";
config.channel = "channel";
config.useIDFA = false;
config.isProduction = true;

JmlinkFlutterPlugin jmlink = new JmlinkFlutterPlugin();

jmlink.setup(config: config);
jmlink.setDebugMode(debug: true);
// 监听 某个mLink handler 回调
String jmlinkKey = "极光短链接key";// 短链 key
jmlink.registerJMLinkDefaultHandler();
// 注册短链对应的 handler
jmlink.registerJMLinkHandler(key: jmlinkKey);

然后在首页:

@override
  void initState() {
      //context在返回frame后可用
      JmlinkFlutterPlugin jmlink = new JmlinkFlutterPlugin();
      String jmlinkKey = "极光短链接key";// 短链 key
      jmlink.addHandlerListener(jmlinkKey, (String key, Map jsonMap){
        print("监听到短链为【$key】的 mLink handler 回调,回调参数为:${jsonMap.toString()}");
        final id = jsonMap['id'];
        if (jmlinkKey == key) {
           //执行了这里的代码
          final id = jsonMap['id'];
          Application.router.navigateTo(context, '/goodsDetail?productId=$id');
        }
      });
    super.initState();
  }

哪位大神知道是什么原因,希望不吝赐教。。谢谢了

阅读 2.8k
2 个回答
✓ 已被采纳新手上路,请多包涵

自己回答一波。。极光的这个插件写的有问题。。从原生修改了代码才能实现跳转。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题