一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【HarmonyOS 5】桌面快捷方式功能實(shí)現(xiàn)詳解

HarmonyOS解決方案 ? 來(lái)源:HarmonyOS解決方案 ? 作者:HarmonyOS解決方案 ? 2025-06-21 16:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

HarmonyOS 5】桌面快捷方式功能實(shí)現(xiàn)詳解

##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)#

一、前言

在移動(dòng)應(yīng)用開(kāi)發(fā)中,如何讓用戶(hù)快速觸達(dá)核心功能,是目前很常見(jiàn)的功能之一。

鴻蒙系統(tǒng)提供的**桌面快捷方式(Shortcuts)**功能,允許開(kāi)發(fā)者為應(yīng)用內(nèi)常用功能創(chuàng)建直達(dá)入口,用戶(hù)通過(guò)長(zhǎng)按應(yīng)用圖標(biāo)即可快速啟動(dòng)特定功能,大幅減少操作層級(jí)。

本文將結(jié)合地圖導(dǎo)航場(chǎng)景,詳細(xì)解析鴻蒙快捷方式的實(shí)現(xiàn)原理與開(kāi)發(fā)流程。結(jié)合華為官方開(kāi)源示例 DesktopShortcut 展開(kāi),該示例基于HarmonyOS 5.0實(shí)現(xiàn),完整演示了地圖導(dǎo)航場(chǎng)景的快捷方式開(kāi)發(fā)流程。

二、需求分析與示例工程介紹

以地圖應(yīng)用為例,用戶(hù)日常高頻使用“回家”“去公司”等導(dǎo)航功能。傳統(tǒng)流程需先打開(kāi)應(yīng)用、搜索目的地、再啟動(dòng)導(dǎo)航。通過(guò)快捷方式,可實(shí)現(xiàn):

  1. 長(zhǎng)按應(yīng)用圖標(biāo) ,在快捷方式列表中直接點(diǎn)擊“回家”或“去公司”;
  2. 拖動(dòng)快捷方式到桌面 ,通過(guò)獨(dú)立圖標(biāo)一鍵啟動(dòng)導(dǎo)航。
    image.png

工程目錄介紹

├── entry/src/main/ets                  
│  ├── entryability                         
│  │  └── EntryAbility.ets                  // 核心邏輯:處理快捷方式參數(shù)并跳轉(zhuǎn)頁(yè)面
│  └── pages                                
│     ├── GoCompany.ets                     // 公司導(dǎo)航頁(yè)面(@Entry裝飾)
│     ├── GoHouse.ets                       // 回家導(dǎo)航頁(yè)面(@Entry裝飾)
│     └── Index.ets                         // 應(yīng)用首頁(yè)
├── entry/src/main/resources                
│  └── base/profile                         
│     └── shortcuts_config.json             // 快捷方式元數(shù)據(jù)配置
└── module.json5                             // 模塊配置文件,關(guān)聯(lián)快捷方式

三、快捷方式功能實(shí)現(xiàn)步驟

1、 核心配置文件

(1)shortcuts_config.json :定義快捷方式的元數(shù)據(jù),包括ID、名稱(chēng)、圖標(biāo)及目標(biāo)跳轉(zhuǎn)信息。

{
  "shortcuts": [
    {
      "shortcutId": "id_go_company",
      "label": "$string:go_company",        // 對(duì)應(yīng)resources/base/element/string.json中的字符串資源
      "icon": "$media:icon_company",        // 對(duì)應(yīng)resources/base/media目錄下的圖標(biāo)文件
      "wants": [
        {
          "bundleName": "com.example.desktopshortcut", // 應(yīng)用包名(需與module.json5一致)
          "moduleName": "entry",                        // 模塊名(固定為entry)
          "abilityName": "EntryAbility",               // 目標(biāo)Ability(入口Ability)
          "parameters": { "page": "GoCompany" }         // 自定義參數(shù):標(biāo)識(shí)目標(biāo)頁(yè)面
        }
      ]
    },
    {
      "shortcutId": "id_go_house",
      "label": "$string:go_home",
      "icon": "$media:icon_home",
      "wants": [
        {
          "bundleName": "com.example.desktopshortcut",
          "moduleName": "entry",
          "abilityName": "EntryAbility",
          "parameters": { "page": "GoHouse" } //  `parameters`鍵名可自定義(示例中使用`page`而非前文的`shortCutKey`),需與代碼邏輯保持一致。
        }
      ]
    }
  ]
}

(2)module.json5 :聲明快捷方式配置文件的引用,關(guān)聯(lián)至應(yīng)用模塊。

{
  "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" // 引用profile目錄下的配置文件
          }
        ]
      }
    ]
  }
}

(3)關(guān)鍵字段說(shuō)明

字段說(shuō)明
shortcutId唯一標(biāo)識(shí)(長(zhǎng)度≤63字節(jié)),如id_company。
label顯示名稱(chēng)(支持資源索引),如$string:Go_to_the_Company。
icon圖標(biāo)資源索引,如$media:company。
wants目標(biāo)跳轉(zhuǎn)信息,包含包名、模塊名、Ability名稱(chēng)及自定義參數(shù)(parameters)。

2、快捷入口跳轉(zhuǎn)邏輯

import router from '@ohos.router';

export default class EntryAbility extends Ability {
  private context: UIAbilityContext | undefined;

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
    super.onCreate(want, launchParam);
    this.context = this.getContext();
    // 首次啟動(dòng)時(shí)加載首頁(yè)
    router.pushUrl({
      url: 'pages/Index',
      context: this.context
    });
  }

  onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam) {
    const page = want.parameters?.page; // 提取快捷方式傳遞的參數(shù)
    if (page && this.context) {
      router.pushUrl({
        url: `pages/${page}`, // 動(dòng)態(tài)拼接頁(yè)面路徑
        context: this.context
      });
    }
  }
}

注意

  1. 快捷方式數(shù)量 :僅支持跳轉(zhuǎn)至UIAbility入口頁(yè)面,最多配置4個(gè)。
  2. 參數(shù)校驗(yàn)
    在onNewWant中增加參數(shù)非空校驗(yàn),避免因快捷方式參數(shù)缺失導(dǎo)致應(yīng)用崩潰:
if (!page || !this.context) {
  hilog.error(0x0000, 'Shortcut', 'Invalid parameters or context');
  return;
}
  1. 卡片 :可展示動(dòng)態(tài)內(nèi)容,支持跳轉(zhuǎn)至非入口頁(yè)面。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2621

    瀏覽量

    44074
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33121
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS 5】鴻蒙應(yīng)用隱私保護(hù)詳解

    HarmonyOS 5】鴻蒙應(yīng)用隱私保護(hù)詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言 在今天這個(gè)手機(jī)不離手的時(shí)代,我們每天
    的頭像 發(fā)表于 07-11 18:30 ?304次閱讀

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解

    HarmonyOS 5】鴻蒙中進(jìn)度條的使用詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、Ha
    的頭像 發(fā)表于 07-11 18:26 ?228次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】鴻蒙中進(jìn)度條的使用<b class='flag-5'>詳解</b>

    HarmonyOS 5】鴻蒙星閃NearLink詳解

    HarmonyOS 5】鴻蒙星閃NearLink詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言 鴻蒙星閃NearLink K
    的頭像 發(fā)表于 07-11 18:24 ?326次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】鴻蒙星閃NearLink<b class='flag-5'>詳解</b>

    HarmonyOS 5】鴻蒙mPaaS詳解

    HarmonyOS 5】鴻蒙mPaaS詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、mPaaS是什么? mPaaS 是 Mobi
    的頭像 發(fā)表于 07-11 18:23 ?287次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】鴻蒙mPaaS<b class='flag-5'>詳解</b>

    HarmonyOS 5】鴻蒙中的UIAbility詳解(二)

    HarmonyOS 5】鴻蒙中的UIAbility詳解(二) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言 今天我們繼續(xù)深入講解
    的頭像 發(fā)表于 07-11 18:17 ?271次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】鴻蒙中的UIAbility<b class='flag-5'>詳解</b>(二)

    HarmonyOS 5】鴻蒙應(yīng)用實(shí)現(xiàn)發(fā)票掃描、文檔掃描輸出PDF圖片或者表格的功能

    HarmonyOS 5】鴻蒙應(yīng)用實(shí)現(xiàn)發(fā)票掃描、文檔掃描輸出PDF圖片或者表格的功能 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服
    的頭像 發(fā)表于 07-11 18:16 ?293次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】鴻蒙應(yīng)用<b class='flag-5'>實(shí)現(xiàn)</b>發(fā)票掃描、文檔掃描輸出PDF圖片或者表格的<b class='flag-5'>功能</b>

    如何實(shí)現(xiàn)桌面快捷方式【2】--ArkTS開(kāi)發(fā)

    主要目的。大家其實(shí)一直都忽略了一種入口方式,即快捷入口。今天我用了一個(gè)下午為我的“真律法律咨詢(xún)平臺(tái)”app新增了這個(gè)功能,中間踩了不少的坑……為了方便大家的開(kāi)發(fā),我來(lái)分享一下具體的開(kāi)發(fā)流程 示例 當(dāng)長(zhǎng)按App
    發(fā)表于 06-30 19:14

    如何實(shí)現(xiàn)桌面快捷方式【1】--ArkTS開(kāi)發(fā)

    的圖標(biāo)時(shí),除了基本的“添加應(yīng)用鎖”和“卸載”外,還可以彈出其他的快捷入口,更厲害的是,這幾個(gè)快捷入口,是可以拖出來(lái)的,會(huì)形成一個(gè)單獨(dú)的類(lèi)似“app”的樣式,也可以點(diǎn)擊。 實(shí)現(xiàn)方式 相關(guān)
    發(fā)表于 06-30 19:03

    HarmonyOS 5】應(yīng)用更新功能詳解

    與迭代需求的優(yōu)選方案。這類(lèi)彈窗主要用于向用戶(hù)推送新版本更新通知,而在引導(dǎo)用戶(hù)完成更新操作的實(shí)現(xiàn)層面,HarmonyOS 提供了完善的應(yīng)用市場(chǎng)能力支撐,例如本文所介紹的 updateManager(更新功能
    發(fā)表于 06-22 18:44

    HarmonyOS 5】VisionKit人臉活體檢測(cè)詳解

    HarmonyOS 5】VisionKit人臉活體檢測(cè)詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、VisionKit人臉活體
    的頭像 發(fā)表于 06-21 11:52 ?301次閱讀
    【<b class='flag-5'>HarmonyOS</b> <b class='flag-5'>5</b>】VisionKit人臉活體檢測(cè)<b class='flag-5'>詳解</b>

    HarmonyOS 5 makeObserved接口詳解

    HarmonyOS 5】makeObserved接口詳解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、makeObserved接口
    的頭像 發(fā)表于 06-16 17:58 ?287次閱讀

    HarmonyOS 5】鴻蒙中的UIAbility詳解(三)

    HarmonyOS 5】鴻蒙中的UIAbility詳解(三) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)# 一、前言 本文是鴻蒙中的UIA
    的頭像 發(fā)表于 06-14 22:32 ?52次閱讀

    HarmonyOS 5】鴻蒙CodeGenie AI輔助編程工具詳解

    HarmonyOS 5】鴻蒙CodeGenie AI輔助編程工具詳解 一、前言 1、CodeGenie是什么?CodeGenie (代碼精靈)作為鴻蒙DevEco IDE自帶的AI輔助編碼工具
    發(fā)表于 06-11 16:34

    HarmonyOS5云服務(wù)技術(shù)分享--認(rèn)證文檔問(wèn)題

    文「集成SDK」章節(jié))。 初始化SDK并添加網(wǎng)絡(luò)權(quán)限。 ??5. 實(shí)現(xiàn)賬號(hào)登錄認(rèn)證?? ??支持方式??: ??標(biāo)準(zhǔn)登錄??:手機(jī)、郵箱、華為賬號(hào)、自有賬號(hào)、匿名賬號(hào)。 ??高級(jí)功能
    發(fā)表于 05-22 13:20

    AD軟件快捷鍵設(shè)置和導(dǎo)入方法

    鼠標(biāo)放在上圖中的“交互式布線(xiàn)”上,然后按下Ctrl鍵,同時(shí)點(diǎn)擊鼠標(biāo)左鍵,就出現(xiàn)下圖所示的對(duì)話(huà)框,在這里就可以修改走線(xiàn)命令的快捷鍵了。 接著,選擇快捷方式下面的“主要的”右側(cè),按下小鍵盤(pán)的5,就看
    發(fā)表于 03-26 10:03