鸿蒙开发之元服务

85 阅读1分钟

卡片双向通信方法

其实双向通信的方法很简单,就是调用这两个方法

卡片 =》 应用
postCardAction(this, {
  action: 'call',
  abilityName: 'EntryAbility', // 只能跳转到当前应用下的UIAbility
  params: {
    // 使用call方式 需要第二个参数
    method: 'updateFormId', // 名字必须叫method method的值是在ability中监听的方法名
    formId: this.formId
  }
})

卡片传输到应用的难点:
1.在EntryAbility中的onCreate/onNewWant进行接收
2.router和call接收的方式不一样
3.需要将接收的数据存储到首选项,然后通过AppStorage进行UIAbility与Page页面的交互



应用 =》 卡片
// 添加卡片的时候,将数据推送过去
formProvider.updateForm(res.formId, formBindingData.createFormBindingData({
  num: AppStorage.get("num")
}))

应用传输到卡片的难点
1. 只需要通过@LocalStorageProp进行接收即可

实际案例

参考文章:

官网: developer.huawei.com/consumer/cn…

掘金文章:juejin.cn/post/742895…