解决措施
通过CES(Common Event
Service,公共事件服务)为应用程序提供订阅、发布、退订公共事件的能力。可以通过订阅系统公共事件监听熄屏和亮屏。另外开机事件可使用公共事件
“COMMON_EVENT_BOOT_COMPLETED“来监听。
示例代码
import { commonEventManager } from '@kit.BasicServicesKit';
let subscriber:commonEventManager.CommonEventSubscriber;
let subscribeInfo: commonEventManager.CommonEventSubscribeInfo = {
events: ['usual.event.SCREEN_OFF'], // 订阅灭屏公共事件
priority:80
}
commonEventManager.createSubscriber(subscribeInfo, (err, data) => {
if (err) {
console.error(`Failed to create subscriber. Code is ${err.code}, message is ${err.message}`);
return;
}
console.info('Succeeded in creating subscriber1.');
subscriber = data;
// 订阅公共事件回调
commonEventManager.subscribe(subscriber, (err, data) => {
if (err) {
console.error(`Failed to subscribe common event. Code is ${err.code}, message is ${err.message}`);
return;
} else {
console.info(`Succeeded in subscribe common event Succeeded1 `);
}
})
})
参考链接
"系统公共事件定义" (https://link.segmentfault.com/?enc=qF5lygFn1S%2Bo0stzuSTb%2FA%3D%3D.7KEmlXhQwP0pucZ0jQrq9kxCyYHu8G3bmznSH%2B2gqC6xNKhohPaUwzZ%2F5ZvFGeLdnP4tIL6MBWwU4rTF%2FHXPf828LXKQPQ3ZvS%2Bh4qeL5KMEv8Wn8%2FN1MptmNf5U2ZawyoEq%2BwrYzXVDgHhlHCrkdt4sQQQkHhm0w9DQ79rmtbI%3D)