# addEventListener

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

# addEventListener(eventName, callback)

# Attributes

属性 类型 必选 备注
eventName String Y 事件名称
callback function Y 回调方法

# 调用示例

const globalEvent = weex.requireModule('globalEvent');

globalEvent.addEventListener('receiveMessageFromApp', data => {
    nativeService.log(`receiveMessageFromApp::${data.messageType}`, data);
    /**
     * data数据结构
     * @messageType:消息类型
     * @messageBody:消息体
     */
})

# eventName

事件名 事件说明 事件是否存在data数据 备注
WXApplicationDidBecomeActiveEvent 应用被前台的时候触发 N -
WXApplicationWillResignActiveEvent 应用即将被后台时候触发 N -
receiveMessageFromApp 接收App全局发送的消息事件 Y 注1
receiveMessage 设备状态上报 - 事业部插件使用

# 注1

messageType:消息类型 消息类型说明 messageBody:消息体 备注
refreshMessageList 接收到消息中心推送消息 消息体内容详见消息中心消息体定义
refreshMessageListAfterClick 推送消息已读 {
messageId: xxx, // 消息id
}
弹窗类消息
refreshMessageListHasAgree 分享消息点击同意分享 {
messageId: xxx, // 消息id
}
分享设备/家庭消息
netStateMessage 网络状态变化 {
netState: 0/1, // 0:网络异常;1:网络正常
}
Scene、Support首页等首页Tab相关的weex页面
networkStatusChanged 安卓端网络状态变化 非首页Tab相关的weex页面
loginSuccessCallback 登录成功通知 -
loginCancelCallback 取消登录通知 -
logoutSuccessCallback 退出登录通知 -
refreshDeviceList 设备列表刷新
deviceStateCallback 设备列表状态变化 {
deviceState: 0/1/2/3, // 0:删除设备;1:新增设备;2:设备上线;3:设备离线
}
shareDeviceCancel 主人撤销分享设备
connectExternalApplicationResultMessage 三方应用反向授权结果 {
code: 0/-1/..., // 0:授权成功;-1:网络正常
appType: 0/1/2, // 0:GoogleHome;1:Amazon Alexa;2:IFTTT
}
hardwareBackClick 安卓返回按键 -
sideBackEvent 安卓手势返回 - 需setBackHandle('on')
receiveOSSUploadProgress 日志上传OSS进度 {
progress: 0, // 0~1:上传进度
}
receiveOSSUploadCallback 日志上传OSS结果 {
result: 1/0, // 1:上传成功;0:上传失败
}
applicationDidBecomeActive 系统捷径编辑回到App时 -
switchHome 切换家庭事件 - App首页主动切换家庭、当前家庭被删除、被踢出当前家庭,均触发切换家庭事件
AppReStart App重启 - 切换App导致应用被系统回收,触发App重启,此时直接App停留在回收前的tab页
xAuthBack 推特授权回调 - 仅Android 推特授权回调打开新页面,通知旧页面返回

# removeEventListener

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

# removeEventListener(eventName)

# Attributes

Prop Type Required Comment
eventName String Y 事件名称

# 调用示例

const globalEvent = weex.requireModule('globalEvent');

globalEvent.removeEventListener('receiveMessageFromApp')