公共事件

更新时间:

公共事件提供了多应用间数据传递和事件交互的能力。

接口声明

{ "name": "blueos.app.event.eventManager" }
复制代码

导入模块

import event from '@blueos.app.event.eventManager'const event = require('@blueos.app.event.eventManager')
复制代码

接口定义

event.publish(OBJECT)

发布公共事件

参数:

参数名 类型 必填 说明
eventName String 事件名称, 公共事件保留名称被系统占用,请勿使用
options Object 事件参数
options 参数:
参数名 类型 必填 说明
params Object 事件参数
permissions Array<String> 订阅者的权限, 拥有权限的包才能收到发送的事件

示例:

event.publish({
  eventName: 'myEventName',
  options: {
    params: { age: 10, name: 'peter' },
    permissions: ['com.example.demo'],
  },
})
复制代码

event.subscribe(OBJECT)

订阅公共事件

参数:

参数名 类型 必填 说明
eventName String 事件名称
callback Function 事件回调
callback 返回值:
参数名 类型 必填 说明
params Object 事件参数
package String 事件推送者包名

返回值:

类型 必填 说明
Number 事件 id

示例:

const evtId = event.subscribe({
  eventName: 'myEventName',
  callback: function (res) {
    if (res.package === 'com.example.demo') {
      console.log(res.params)
    }
  },
})
console.log(evtId)
复制代码

event.unsubscribe(OBJECT)

取消订阅公共事件

参数:

参数名 类型 必填 说明
id Number 订阅 id

示例:

event.unsubscribe({ id: 1 })
复制代码

系统支持的公共事件

系统公共事件名称 订阅者所需权限 说明
usual.event.SHUTDOWN 即将关机
usual.event.BATTERY_CHANGED 电量改变,参数:level:0.0 - 1.0 之间
usual.event.BATTERY_LOW 低电事件
usual.event.BATTERY_OKAY 充满电事件
usual.event.SCREEN_OFF 灭屏事件
usual.event.SCREEN_AOD AOD 事件
usual.event.SCREEN_ON 亮屏事件
usual.event.PACKAGE_ADDED 新安装应用,参数:package:com.xxx.xxx
usual.event.PACKAGE_REPLACED 应用安装更新,参数:package:com.xxx.xxx
usual.event.PACKAGE_REMOVED 应用卸载,参数:package:com.xxx.xxx
usual.event.DISCHARGING 停止充电
usual.event.CHARGING 开始充电
usual.event.OTA_TRANSFER ota 开始传输
usual.event.OTA_INSTALL ota 开始安装
上一篇
通知能力
下一篇
消息通知
以上内容对您是否有帮助?
  • 毫无帮助
  • 帮助不大
  • 一般
  • 很好
  • 非常好
意见反馈