返回介绍

globalEvent

发布于 2020-01-01 14:27:54 字数 1977 浏览 1771 评论 0 收藏 0

globalEvent 用于监听持久性事件,例如定位信息,陀螺仪等的变化。全局事件是需要额外 APIs 处理的次要 API。

内置的全局事件

WeexSDK 对获取应用前后台事件做了支持,开发者可以在页面内监听对应的事件,获取应用当前是前台或后台,以方便暂停音乐,视频等,只需要指定需要监听的事件名称和回调函数就可以,例如:

var globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener('WXApplicationDidBecomeActiveEvent', function(e) {
  console.log('WXApplicationDidBecomeActiveEvent');
});
  • WXApplicationDidBecomeActiveEvent,应用被前台的时候触发
  • WXApplicationWillResignActiveEvent,应用即将被后台时候触发

示例

注意

目前只有 platform 为 iOS 和 Android 才能支持。获取当前 platform

触发全局事件

Android

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

iOS

[weexInstance fireGlobalEvent:@"geolocation" params:@{@"key":@"value"}];

addEventListener

注册对一个全局事件的监听。

addEventListener(eventName, callback)

  • @eventName,string,事件名称。
  • @callback,function,回调方法。
var globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener("geolocation", function (e) {
  console.log("get geolocation")
});

removeEventListener

取消对一个全局事件的监听。

removeEventListener(eventName)

  • @eventName,string,事件名称。
var globalEvent = weex.requireModule('globalEvent');
globalEvent.removeEventListener("geolocation");

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文