weex globalEvent实现,js端无法接收到消息

weex使用globalEvent注册全局监听的时候,监听app端发送过来的消息,app端是在接收到推送消息的时候,发送消息到js端,app端并没有为此去自定义一个module,是按照官网的来做。

Android:

Map<String,Object> params=new HashMap<>();
params.put("key","value");
mWXSDKInstance.fireGlobalEventCallback("geolocation",params);

js:

var globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener("geolocation", function (e) {
console.log("get geolocation")
});

两端分别只实现了上述代码,但是在具体操作的过程中,发现 js 端并没有接收到 Android 端发送过来的消息,但是添加监听的代码已经执行了,并没有报错。

阅读 3.7k
2 个回答

呃,我一直在用,都是可以实现的。是不是你Android端使用 fireGlobalEventCallback 的时间不对,比如你在监听器监听前就执行了 fireGlobalEventCallback 方法。
举个栗子,首先我在JS端执行 addEventListener 方法注册监听时间。然后在android端,这里我是在接收到广播后调用 fireGlobalEventCallback 这个方法,这时JS端的监听器就会有响应并收到数据。可以参考下weex接收来自Android手机的Broadcast广播消息

这个不支持跨页面事件通知

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