新闻详情

新闻详情

首页 / 资讯中心 / 详情

【HarmonyOS 5】桌面快捷方式功能实现详解

发布时间:2026/10/28 22:42:27来源:尧图网络
【HarmonyOS 5】桌面快捷方式功能实现详解
在HarmonyOS 5中实现桌面快捷方式主要依靠静态配置的方式。开发者通过预先定义好配置文件让系统在应用安装后就能为用户提供长按图标快速访问特定功能的入口。这种方式对用户最直接也是目前官方推荐的主要实现路径。简单来说这个功能可以拆解为配置、跳转和拉起三个核心环节。核心配置文件定义快捷方式的“样子”首先需要在项目的resources/base/profile/目录下创建一个名为shortcuts_config.json的配置文件。它用JSON格式描述了每个快捷方式的唯一ID、显示的文字、图标以及最重要的——点击后要跳转到哪里。1.shortcuts_config.json示例json{ shortcuts: [ { shortcutId: id_go_company, label: $string:go_company, icon: $media:icon_company, wants: [ { bundleName: com.example.desktopshortcut, moduleName: entry, abilityName: EntryAbility, parameters: { page: GoCompany } } ] }, { shortcutId: id_go_house, label: $string:go_home, icon: $media:icon_home, wants: [ { bundleName: com.example.desktopshortcut, moduleName: entry, abilityName: EntryAbility, parameters: { page: GoHouse } } ] } ] }shortcutId每个快捷方式的唯一标识符长度不超过63字节。labelicon用户直接看到的名称和图标建议使用资源索引如$string:xxx以方便多语言适配。wants这里定义了点击快捷方式后系统要执行的动作。parameters字段是开发者自定义的用于告诉应用用户点击的是哪个快捷方式下文会详细说明如何接收它。2. 在module.json5中关联配置定义好快捷方式后需要在应用的module.json5文件中通过metadata字段告知系统这个配置文件的存在。json{ module: { // ... abilities: [ { name: EntryAbility, srcEntry: ./ets/entryability/EntryAbility.ets, skills: [ { entities: [entity.system.home], actions: [ohos.want.action.home] } ], metadata: [ { name: ohos.ability.shortcuts, resource: $profile:shortcuts_config } ] } ] } }这里的name字段必须是ohos.ability.shortcuts这是系统识别快捷方式配置的固定标识。应用内跳转处理用户的点击配置好文件后最关键的一步是在EntryAbility.ets中接收并处理用户通过快捷方式传来的参数。这个逻辑主要写在onNewWant生命周期回调里。EntryAbility.ets核心逻辑typescriptimport router from ohos.router; import { Ability, Want, AbilityConstant } from kit.AbilityKit; import { hilog } from kit.PerformanceAnalysisKit; export default class EntryAbility extends Ability { // ... // 当应用已存在用户再次通过快捷方式点击时触发 onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { // 1. 从want中取出自定义参数这里的 page 必须和配置文件中的key一致 const page want.parameters?.page; // 2. 安全校验避免参数缺失导致崩溃 if (page typeof page string) { hilog.info(0x0000, Shortcut, Navigating to: ${page}); // 3. 执行页面跳转 router.pushUrl({ url: pages/${page}, }).catch((err) { hilog.error(0x0000, Shortcut, Push url failed, code: ${err.code}); }); } else { // 处理无参数或参数无效的情况比如跳转默认首页 router.replaceUrl({ url: pages/Index }); } } }关键点说明两种启动场景onCreate在应用初次启动时触发而onNewWant在应用已存在、再次被唤起时触发。快捷方式通常需要处理的是后者。参数一致代码中want.parameters?.page里的page必须与shortcuts_config.json中parameters里定义的键名完全一致。动态跳转通过router.pushUrl可以实现根据参数动态跳转到不同的页面如GoCompany、GoHouse。确保这些目标页面已用Entry装饰并在路由表中注册过。⚠️ 注意事项与限制数量限制一个应用最多只能配置4个静态快捷方式。目标页面快捷方式只能拉起UIAbility入口页面即应用的主Ability不能直接拉起普通页面。所以需要在EntryAbility中做中转跳转。用户控制快捷方式的添加和移除最终决定权在于用户。应用无法强制将快捷方式固定在用户的桌面上只能提供入口。总结与官方资源总的来说实现静态快捷方式是一个“配置三板斧”的过程定义在shortcuts_config.json中定义快捷方式的外观和目标。关联在module.json5中通过metadata关联配置文件。处理在EntryAbility.ets的onNewWant中解析参数并执行跳转。官方提供的示例项目DesktopShortcut是一个很好的学习起点你可以直接参考其完整代码实现。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/10/28 16:06:12

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/10/28 13:44:36

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/10/28 6:32:58

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/10/28 16:06:11

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/10/28 11:07:30

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/10/28 16:06:10

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉