如何实现桌面快捷方式【1】--ArkTS开发
2025-06-21 21:46:24
111次阅读
0个评论
前言
我们一直会把卡片作为一种app的快捷入口来使用,但是我认为实际上这是错误的。因为卡片应当是用来做简单交互的,交互后如有需要再进入app对应的页面,而不是把“引导用户进入app”作为主要目的。大家其实一直都忽略了一种入口方式,即快捷入口。今天我用了一个下午为我的“真律法律咨询平台”app新增了这个功能,中间踩了不少的坑……为了方便大家的开发,我来分享一下具体的开发流程
示例
当长按App的图标时,除了基本的“添加应用锁”和“卸载”外,还可以弹出其他的快捷入口,更厉害的是,这几个快捷入口,是可以拖出来的,会形成一个单独的类似“app”的样式,也可以点击。
实现方式
相关的官方文档在 功能开发 -- 应用框架 -- 程序包结构 -- 桌面快捷方式。在gitee上也有示例项目,但是官方文档甚至是官方示例代码……还是有一些缺失和错误的……我们先来从最基础的开始讲起
1. 创建配置文件
首先在/resources/base/profile/目录下创建名为shortcuts_config.json的文件,内容如下
{
"shortcuts": [
{
"shortcutId": "id_company", //这个其实随便填,但是要保证每个的id都不同
"label": "$string:Go_to_the_Company", //这里的内容定义在string.json里
"icon": "$media:company", //对应的图片文件
"wants": [
{
"bundleName": "com.example.desktopshortcuts", //你的包名
"moduleName": "entry", //这里不用改
"abilityName": "EntryAbility", //这里也不用改
"parameters": {
"shortCutKey": "CompanyPage" //parameters的作用是后续来区分进入哪个页面的,不代表就是页面的名字
}
}
]
},
//这里就是第二个快捷入口的配置内容
{
"shortcutId": "id_house",
"label": "$string:Go_to_House",
"icon": "$media:house",
"wants": [
{
"bundleName": "com.example.desktopshortcuts",
"moduleName": "entry",
"abilityName": "EntryAbility",
"parameters": {
"shortCutKey": "HousePage"
}
}
]
}
]
}
2. 配置module.json5文件
在module.json5配置文件中的abilities标签下的metadata中设置resource属性值为$profile:shortcuts_config,指定应用的快捷方式配置文件,即使用shortcuts_config.json文件中的shortcuts配置。 这里一定要注意位置,是abilities标签下的metadata,而不是和abilities平级的metadata,因为我们在配置client_id的时候,他所属的metadata是和abilities平级的,如果你之前配置过这种情况下的metadata,你会发现他不会报错……但是就不会出现快捷入口……
后续内容请看下一篇……
00
- 0回答
- 0粉丝
- 0关注
相关话题
- 如何实现桌面快捷方式【2】--ArkTS开发
- 【HarmonyOS 5】桌面快捷方式功能实现详解
- 【HarmonyOS 5】桌面快捷方式功能实现详解
- 【HarmonyOS 5】桌面快捷方式功能实现详解
- 创建应用静态快捷方式
- 深入源码:打造属于你的 openKyLin 桌面插件(1)
- 鸿蒙开发:loading动画的几种实现方式
- 07-ArkTS语法入门(1)
- 鸿蒙开发:如何实现列表吸顶
- 鸿蒙开发:一文了解桌面卡片
- 鸿蒙开发 HarmonyOS DevEco Studio 常用快捷键
- HarmonyOS运动开发:打造便捷的静态快捷菜单
- HarmonyOS实战:List拖拽位置交换的多种实现方式
- 鸿蒙开发:权限管理之授权方式
- 鸿蒙HarmonyOS ArkTS共享元素动画详解【1】