鸿蒙订阅、发布、取消公共事件代码
时间: 2024-10-22 18:06:33 浏览: 7
鸿蒙系统的公共事件处理通常涉及在组件间传递消息,通过订阅和发布机制来实现通信。这里是一个简单的示例,展示如何订阅、发布和取消公共事件:
1. **订阅公共事件**:
```java
// 创建一个公共事件对象
Event event = new Event("event_name");
// 在组件A中订阅事件
event.addObserver(new Observer() {
@Override
public void onEvent(Event data) {
// 当事件发生时,这里的代码会被触发
Log.d("ComponentA", "Received event: " + data.getData());
}
});
// 订阅事件
event.subscribe();
```
2. **发布公共事件**:
```java
// 在需要触发事件的地方(比如组件B)
Event eventToPublish = new Event("event_name");
eventToPublish.setData("Some data to send");
event.publish(); // 发布事件到所有已订阅的观察者
```
3. **取消订阅公共事件**:
```java
// 在组件A想要取消订阅时
event.removeObserver(this); // 使用观察者的引用来解除关联
// 或者,如果你保存了订阅ID:
event.unsubscribe(subscriptionId); // 其中subscriptionId是在subscribe时获取的标识符
```
注意:这只是一个简化示例,实际的代码可能会包含错误处理和更复杂的管理逻辑。同时,具体的API可能会因鸿蒙系统版本的不同而有所变化。
阅读全文