鸿蒙的服务卡片点击事件传参,可以动态设置吗?

使用的是JS UI 框架开发的服务卡片,在json文件里面设置了actions,想问一下有没有办法动态设置params里面的参数

"actions": {
  "routerEvent": {
    "action": "router",
    "bundleName": "com.mupan.f1schedule",
    "abilityName": "com.mupan.f1schedule.MainAbility",
    "params": {
      "message": "add detail"
    }
  },
  "messageEvent": {
    "action": "message",
    "params": {
      "message": "test date"
    }
  }
}

鸿蒙
HarmonyOS
OpenHarmony
2021-11-02 10:08:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
蒿睿识

可以动态设置,可以参考如下代码:

1、在onCreateForm方法中将值放入卡片

    @Override

    protected ProviderFormInfo onCreateForm(Intent intent) {

        IntentParams params = intent.getParams();

        if (params == null) {

            return null;

        }

        formId = (int) params.getParam(AbilitySlice.PARAM_FORM_ID_KEY);

        String formName = (String) params.getParam(AbilitySlice.PARAM_FORM_NAME_KEY);

        int specificationId = (int) params.getParam(AbilitySlice.PARAM_FORM_DIMENSION_KEY);

        ZSONObject zsonObject = new ZSONObject();

        zsonObject.put("data", "test data"); 

        ProviderFormInfo formInfo = new ProviderFormInfo();

        formInfo.setJsBindingData(new FormBindingData(zsonObject));

        return formInfo;

    }

2、在卡片json文件中接受数据data

"actions": {

  "routerEvent": {

    "action": "router",

    "bundleName": "com.mupan.f1schedule",

    "abilityName": "com.mupan.f1schedule.MainAbility",

    "params": {

      "message": "{{data}}"

    }

  },

  "messageEvent": {

    "action": "message",

    "params": {

      "message": "{{data}}"

    }

  }

}

分享
微博
QQ
微信
回复
2021-11-02 15:36:11
相关问题
服务卡片java如何设置点击事件
7213浏览 • 1回复 待解决
鸿蒙卡片服务可以播放视频
3404浏览 • 1回复 待解决
路由如何接?可否给个案例?
1292浏览 • 1回复 待解决
JS跳转Java问题?
2989浏览 • 1回复 待解决
鸿蒙手表支持服务卡片
6899浏览 • 2回复 待解决
点击服务卡片如何跳转至指定页面
284浏览 • 1回复 待解决
服务卡片可以响应上下滑动操作
4904浏览 • 2回复 待解决
跨设备启动FA问题
6027浏览 • 1回复 待解决
如何实现事件,你会
99浏览 • 1回复 待解决
服务卡片设置本地图片显示空白
5331浏览 • 2回复 已解决
tp5 如何对post进行加密?
324浏览 • 1回复 待解决
服务卡片只能基于JAVA开发
1776浏览 • 1回复 待解决
服务服务卡片区别
382浏览 • 1回复 待解决