OpenHarmony开源社区
直播中

ss

6年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[问答]

鸿蒙的服务卡片有没有办法动态设置params里面的参数?

使用的是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"
    }
  }
}

回帖(1)

ss

2022-3-25 11:02:35
可以动态设置,可以参考如下代码:
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}}"
    }
  }
}

举报

更多回帖

发帖
×
20
完善资料,
赚取积分