[文章]HarmonyOS应用开发-公共事件处理

阅读量0
0
2
在开发过程中service想要控制多个ability时,可以考虑使用公共事件处理。
发布无序的公共事件:
//发布公共事件 同步修改卡片与页面
public void subscribeEvent(String id,String status) {
    try {
        Intent intent = new Intent();
        Operation operation = new Intent.OperationBuilder()
                .withAction("play")
                .build();
        intent.setOperation(operation);
        intent.setParam("id",id);
        intent.setParam("status",status);
        CommonEventData eventData = new CommonEventData(intent);

        CommonEventManager.publishCommonEvent(eventData);
        HiLog.info(TAG, "Publish succeeded");
    } catch (RemoteException e) {
        HiLog.error(TAG, "Exception occurred during publishCommonEvent invocation.");
    }

}
订阅该公共事件:
class MyCommonEventSubscriber extends CommonEventSubscriber {
    MyCommonEventSubscriber(CommonEventSubscribeInfo info) {
        super(info);

    }
    @Override
    public void onReceiveEvent(CommonEventData commonEventData) {
        HiLog.info(TAG,"订阅Seccess");
        id= Integer.parseInt(commonEventData.getIntent().getStringParam("id"));
        status=commonEventData.getIntent().getStringParam("status");
        HiLog.info(TAG,"订阅数据状态="+status);
        HiLog.info(TAG,"订阅数据歌曲id="+id);
    }
}
本文根据官方文档学习体验整理
附件:


回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友