HarmonyOS鸿蒙Next服务卡片开发-入口设置

HarmonyOS鸿蒙Next服务卡片开发-入口设置 简介

在原子化服务开发的过程中,新建的原子化服务四张卡片都是进入一个页面,那有什么方法让不同卡片进入不同入口,通过修改配置文件可以实现该需求。

方法

  • 修改配置文件
"forms": [
  {
    "jsComponentName": "wkwidget",
    "isDefault": false,
    "scheduledUpdateTime": "10:30",
    "defaultDimension": "1*2",
    "name": "wkwidget",
    "description": "",
    "colorMode": "auto",
    "type": "JS",
    "supportDimensions": [
      "1*2"
    ],
    "updateEnabled": true,
    "updateDuration": 1
  },
  {
    "jsComponentName": "xkwidget",
    "isDefault": true,
    "scheduledUpdateTime": "10:30",
    "defaultDimension": "2*2",
    "name": "xkwidget",
    "description": "",
    "colorMode": "auto",
    "type": "JS",
    "supportDimensions": [
      "2*2"
    ],
    "updateEnabled": true,
    "updateDuration": 1
  },
  {
    "jsComponentName": "zkwidget",
    "isDefault": false,
    "scheduledUpdateTime": "10:30",
    "defaultDimension": "2*4",
    "name": "zkwidget",
    "description": "",
    "colorMode": "auto",
    "type": "JS",
    "supportDimensions": [
      "2*4"
    ],
    "updateEnabled": true,
    "updateDuration": 1
  },
  {
    "jsComponentName": "dkwidget",
    "isDefault": false,
    "scheduledUpdateTime": "10:30",
    "defaultDimension": "4*4",
    "name": "dkwidget",
    "description": "",
    "colorMode": "auto",
    "type": "JS",
    "supportDimensions": [
      "4*4"
    ],
    "updateEnabled": true,
    "updateDuration": 1
  }
]
  • 添加js文件

添加4个JS文件夹,分别对应4种卡片。

在这些文件夹下新建.json文件,用于指定卡片进入的页面ACE。

{
  "data": {},
  "actions": {
    "routerEvent": {
      "action": "router",
      "bundleName": "com.fkxxskj.bailianCard",
      "abilityName": "com.example.cardmodel.Ace.AboutAbility"
    }
  }
}

别忘了在html代码下应用该跳转。

<div class="container" onclick="routerEvent">
  • 新建AceAbility

建立4个ACE进行指定页面。

代码如下:

public class AboutAbility extends AceAbility {
  @Override
  public void onStart(Intent intent) {
    setInstanceName("default");
    setPageParams("pages/index/about/about",null);
    super.onStart(intent);
    // this.getWindow().addFlags(WindowManager.LayoutConfig.MOD_STATUS_BAR);
    this.setDisplayOrientation(AbilityInfo.DisplayOrientation.FOLLOWRECENT);
  }

  @Override
  public void onStop() {
    super.onStop();
  }
}

setInstanceName("default"); setPageParams("pages/index/about/about",null);

指定对应的页面。


更多关于HarmonyOS鸿蒙Next服务卡片开发-入口设置的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

请教个问题,我使用的是JSUI,创建卡片服务,新建了一个AceAbility,指定跳转到JS的内容页;点击卡片直接打开Ann的跳转后,之前的登录信息都没有了,包括打开的窗口名称也变成了其他的;这是什么情况。

更多关于HarmonyOS鸿蒙Next服务卡片开发-入口设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,服务卡片的入口设置主要通过config.json文件进行配置。开发者需要在abilities节点下定义卡片的入口信息,包括type设置为service,并指定urilabel等属性。此外,还需在metadata中配置卡片的具体信息,如卡片名称、图标等。通过合理配置这些参数,可以确保服务卡片在设备桌面上正确显示并响应用户操作。

回到顶部