鸿蒙原生开发手记:02-服务卡片开发

田楷
• 阅读 79

介绍

服务卡片是一直桌面小组件,可以放置在桌面上等位置,一触即达。

服务卡片分为静态卡片和动态卡片两类。本文介绍静态卡片。

创建

回到 DevEco,在目录entry右键,点击创建 Service Widget,选择 Static Widget, 点击 Next。

鸿蒙原生开发手记:02-服务卡片开发

输入名称,选择支持的卡片大小,点击确定创建卡片。

其中 22 代表 2行2列,12 代表1行2列。

鸿蒙原生开发手记:02-服务卡片开发

编写卡片界面

交互

点击事件传参

这里使用 ArkUI 编写界面,不过不能使用点击事件,转而应该使用 FormLink,相关的事件在 formability 侧接受,通过不同的参数,调用 router.push 打开不同的页面。

FormLink({
  action: this.ACTION_TYPE,
  abilityName: this.ABILITY_NAME,
  params: {
    action: this.MESSAGE
  }
}) {
...
}

参数接收

entryability 中的 onCreateonNewWant 生命周期中,来接收参数

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {

    if(want?.parameters?.params) {
      let params: Record<string, Object> = JSON.parse(want.parameters.params as string);
      this.selectPage = params.action as string;
      console.log("selectPage", this.selectPage);
    }
  }

  onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    console.log('onNewWant');
    if (want?.parameters?.params) {
      // want.parameters.params 对应 postCardAction() 中 params 内容
      let params: Record<string, Object> = JSON.parse(want.parameters.params as string);
      this.selectPage = params.action as string;
      hilog.info(DOMAIN_NUMBER, TAG, `onNewWant selectPage: ${this.selectPage}`);
    }
    if (this.currentWindowStage !== null) {
      this.onWindowStageCreate(this.currentWindowStage);
    }
  }

注意事项

1.运行时,请使用正常模式,服务卡片不支持 HotReload ,而且热重载模式下卡片无法正常显示。

参考资料

点赞
收藏
评论区
推荐文章
仲远 仲远
1年前
堆叠大陆 Stacklands for Mac(卡牌游戏)v1.3.4中文原生版
堆叠大陆(Stacklands)forMac是一款策略卡牌游戏,由ThunderboxEntertainment开发。在这个游戏中,玩家需要构建自己的卡组并与其他玩家进行对战。堆叠大陆的游戏玩法有两个主要元素:卡片和地图。每张卡片代表一个单位,如士兵、法师
Stella981 Stella981
3年前
App唤起微信小程序和回调
在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转。可在“管理中心移动应用应用详情关联小程序信息”,为通过审核的移动应用发起关联小程序操作。唤起App打开下程序他有两种方式:1,通过App分享小程序卡片到微信,然后在微信上点击小程序卡片打开小程序,
Stella981 Stella981
3年前
HDOJ 1716 排列2(next_permutation函数)
ProblemDescriptionRay又对数字的列产生了兴趣:现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。Input每组数据占一行,代表四张卡片上的数字(0<数字<9),如果四张卡片都是0,则输入结束。Output对每组卡片按从小到大的顺序输出所有能由这四张卡片组成的4位数
Stella981 Stella981
3年前
Python基础并发编程——操作系统
一、操作系统简介1、手工操作——穿孔卡片 1946年第一台计算机诞生20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算
田楷 田楷
1个月前
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
导读本文带来非常详细的元服务开发及上架全流程介绍,包含元服务介绍、创建、服务卡片、签名、开发测试、签名打包、上架审核等,一应俱全。元服务简介元服务是一种新的服务提供方式开发简单、免安装、易于获取和使用相较于小程序,系统原生,丝滑流畅轻量应用程序形态,具备秒
田楷 田楷
1个月前
鸿蒙Taro实战:01-搭建开发环境
鸿蒙Taro实战:01搭建开发环境配置鸿蒙环境下载安装DevEco配置IDE打开Prefreences,OpenHarmonySDK,勾选APIVersion12创建鸿蒙项目打开DevEco,点击右上角CreateProject,在Application处
京东云开发者 京东云开发者
6个月前
AIGC系统中聊天小助手卡片小组件嵌套设计实践
1.项目描述领航者卡片样式较多,有些卡片比较近似;可以用嵌套方案,实现一个卡片,多个子单元可拔插组件式卡片。2.逻辑设计2.1卡片示例聊天框提示3通用提示卡片设计通用卡片中加载//卡片组件unit加载...if(!options?.dataType)if(
徐庶 徐庶
5个月前
保姆级Linux (Ubuntu) 部署流光卡片API
等等,你说你不知道流光卡片是什么?总之这是一个能将你得文字,或者图片美化成好看的卡片的工具哒~这样子你知道了吧,而且还提供了一个开源api可以调用哦
田楷 田楷
1个月前
鸿蒙原生开发手记:01-元服务开发
简介元服务是鸿蒙中的一种轻量应用形态,无需下载,直接运行。类似于微信小程序,但与小程序不同的是,元服务更加轻量。元服务使用原生开发,是系统级提供的,无论从易用性、性能、体验上,都要比小程序好。创建元服务使用DevEco,点击Create,左侧模板选择Ato