1# 创建应用静态快捷方式 2<!--Kit: Ability Kit--> 3<!--Subsystem: BundleManager--> 4<!--Owner: @wanghang904--> 5<!--Designer: @hanfeng6--> 6<!--Tester: @kongjing2--> 7<!--Adviser: @Brilliantry_Rui--> 8 9随着应用的功能越来越复杂,用户在使用应用时,找到某个功能的操作步骤也变得更加繁琐。为提升用户体验,可以对应用中常用的功能创建对应的桌面快捷方式,以达到快速启动应用、一键直达特定功能等目的。例如相机应用的 “快速拍照”、便签应用的 “新建便签” 和地图应用的常用地点导航等功能的快捷方式,用户通过快捷方式可以快速进入特定功能页面,既能大大提高操作效率,同时也增加了用户对应用的依赖性。使用快捷方式,还可以实现个性化定制的需求,创建多个快捷方式,以满足个性化的工作流程和操作偏好。 10 11## 场景介绍 12 13以导航场景为例,用户使用地图应用导航时,通常先搜索目的地,然后开始导航。为了提升导航效率和操作便捷性,建议在地图应用中添加常去地点的快捷方式,如公司、家等。添加这些快捷方式后,用户长按应用图标,即可打开快捷方式入口,快速启动导航。详情请参考[桌面快捷方式](https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-desktop-shortcuts)。 14 15## 配置方法 16 17下面介绍在工程中配置静态快捷方式的方法。 18 191. 在entry/src/main/resources/base/element/string.json配置资源文件如下。 20 ```json 21 { 22 "string": [ 23 // ··· 24 { 25 "name": "share", 26 "value": "分享好友" 27 }, 28 { 29 "name": "add", 30 "value": "添加收藏" 31 } 32 ] 33 } 34 ``` 35 36 372. 配置快捷方式文件。 38 39 在模块的/resources/base/profile/目录下配置[快捷方式的配置文件](module-configuration-file.md#shortcuts标签),如shortcuts_config.json,拷贝示例代码需要删除注释。 40 41 ```json 42 { 43 "shortcuts": [ 44 { 45 "shortcutId": "id_test1", // 标识快捷方式,在应用有多个快捷方式时,该字段可作为快捷方式的唯一标识符,不支持通过资源索引的方式($string)配置该字段 46 "label": "$string:add", // 标识该快捷方式对外显示的名称 47 "icon": "$media:add_icon", // 标识该快捷方式对外显示的图片,需要在entry/src/main/resources/base/media中添加名称为add_icon的图片 48 "wants": [ 49 { 50 "bundleName": "com.ohos.hello", // 对应该快捷方式对应拉起组件的包名 51 "moduleName": "entry", // 对应该快捷方式对应拉起组件的模块名 52 "abilityName": "EntryAbility1", // 对应该快捷方式对应拉起组件的组件名 53 "parameters": { 54 "testKey": "testValue" // 表示拉起快捷方式时的自定义数据 55 } 56 } 57 ] 58 }, 59 { 60 "shortcutId": "id_test2", // 标识快捷方式,在应用有多个快捷方式时,该字段可作为快捷方式的唯一标识符,不支持通过资源索引的方式($string)配置该字段 61 "label": "$string:share", // 标识该快捷方式对外显示的名称 62 "icon": "$media:share_icon", // 标识该快捷方式对外显示的图片,需要在entry/src/main/resources/base/media中添加名称为share_icon的图片 63 "wants": [ 64 { 65 "bundleName": "com.ohos.hello", // 对应该快捷方式对应拉起组件的包名 66 "moduleName": "entry", // 对应该快捷方式对应拉起组件的模块名 67 "abilityName": "EntryAbility", // 对应该快捷方式对应拉起组件的组件名 68 "parameters": { 69 "testKey": "testValue" // 表示拉起快捷方式时的自定义数据 70 } 71 } 72 ] 73 } 74 ] 75 } 76 ``` 77 783. 在应用的module.json5文件中配置metadata,指向快捷方式的配置文件。 79 80 ```json 81 { 82 "module": { 83 // ... 84 "abilities": [ 85 { 86 "name": "EntryAbility", 87 "srcEntry": "./ets/entryability/EntryAbility.ets", 88 // ... 89 "metadata": [ 90 { 91 "name": "ohos.ability.shortcuts", // 配置快捷方式,该值固定为ohos.ability.shortcuts 92 "resource": "$profile:shortcuts_config" // 指定shortcuts信息的资源位置 93 } 94 ] 95 } 96 ] 97 } 98 } 99 ``` 100 101安装应用后,长按桌面上的应用图标,图标上方会显示开发者配置的快捷方式:“添加收藏”和“分享好友”。点击相应标签,可启动对应的组件。应用配置的静态快捷方式在桌面上的展示效果如下图所示。 102 103<img src="figures/shortcut_display.jpg"/> 104 105