跳转到内容

公共事件

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

{ "name": "blueos.app.event.eventManager" }
import event from '@blueos.app.event.eventManager' const event = require('@blueos.app.event.eventManager')

发布公共事件

参数名类型必填说明
eventNameString事件名称, 公共事件保留名称被系统占用,请勿使用
optionsObject事件参数
参数名类型必填说明
paramsObject事件参数
permissionsArray订阅者的权限, 拥有权限的包才能收到发送的事件
event.publish({
eventName: 'myEventName',
options: {
params: { age: 10, name: 'peter' },
permissions: ['com.example.demo'],
},
})

订阅公共事件

参数名类型必填说明
eventNameString事件名称
callbackFunction事件回调
参数名类型必填说明
paramsObject事件参数
packageString事件推送者包名
类型必填说明
Number事件 id
const evtId = event.subscribe({
eventName: 'myEventName',
callback: function (res) {
if (res.package === 'com.example.demo') {
console.log(res.params)
}
},
})
console.log(evtId)

取消订阅公共事件

参数名类型必填说明
idNumber订阅 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_AODAOD 事件
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_TRANSFERota 开始传输
usual.event.OTA_INSTALLota 开始安装