国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HarmonyOS 學習路之開發篇 ——Intent

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-20 14:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Intent

基本概念

Intent 是對象之間傳遞信息的載體。例如,當一個 Ability 需要啟動另一個 Ability 時,或者一個 AbilitySlice 需要導航到另一個 AbilitySlice 時,可以通過 Intent 指定啟動的目標同時攜帶相關數據。Intent 的構成元素包括 Operation 與 Parameters,具體描述參見表 1。

wKgaomXUS_6AdNTpAADjbc4OoZM532.png


表 1 Intent 的構成元素 當 Intent 用于發起請求時,根據指定元素的不同,分為兩種類型:

如果同時指定了 BundleName 與 AbilityName,則根據 Ability 的全稱(例如 “com.demoapp.FooAbility”)來直接啟動應用。

如果未同時指定 BundleName 和 AbilityName,則根據 Operation 中的其他屬性來啟動應用。

說明 Intent 設置屬性時,必須先使用 Operation 來設置屬性。如果需要新增或修改屬性,必須在設置 Operation
后再執行操作。

關于 Intent 最簡單的使用方法,可參見快速入門的示例代碼。其中 “實現頁面跳轉” 重點描述了使用 Intent 實現兩個頁面跳轉關系的操作。

根據 Ability 的全稱啟動應用

通過構造包含 BundleName 與 AbilityName 的 Operation 對象,可以啟動一個 Ability、并導航到該 Ability。示例代碼如下:

Intent intent = new Intent();
// 通過Intent中的OperationBuilder類構造operation對象,指定設備標識(空串表示當前設備)、應用包名、Ability名稱
Operation operation = new Intent.OperationBuilder()
        .withDeviceId("")
        .withBundleName("com.demoapp")
        .withAbilityName("com.demoapp.FooAbility")
        .build();
// 把operation設置到intent中
intent.setOperation(operation);
startAbility(intent);

作為處理請求的對象,會在相應的回調方法中接收請求方傳遞的 Intent 對象。以導航到另一個 Ability 為例,導航的目標 Ability 可以在其 onStart () 回調的參數中獲得 Intent 對象。 根據 Operation 的其他屬性啟動應用 有些場景下,開發者需要在應用中使用其他應用提供的某種能力,而不感知提供該能力的具體是哪一個應用。例如開發者需要通過瀏覽器打開一個鏈接,而不關心用戶最終選擇哪一個瀏覽器應用,則可以通過 Operation 的其他屬性(除 BundleName 與 AbilityName 之外的屬性)描述需要的能力。如果設備上存在多個應用提供同種能力,系統則彈出候選列表,由用戶選擇由哪個應用處理請求。以下示例展示使用 Intent 跨 Ability 查詢天氣信息。

請求方

在 Ability 中構造 Intent 以及包含 Action 的 Operation 對象,并調用 startAbilityForResult () 方法發起請求。然后重寫 onAbilityResult () 回調方法,對請求結果進行處理。

private void queryWeather() {
    Intent intent = new Intent();
    Operation operation = new Intent.OperationBuilder()
            .withAction(Intent.ACTION_QUERY_WEATHER)
            .build();
    intent.setOperation(operation);
    startAbilityForResult(intent, REQ_CODE_QUERY_WEATHER);
}
@Override
protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) {
    switch (requestCode) {
        case REQ_CODE_QUERY_WEATHER:
            // Do something with result.
            ...
            return;
        default:
            ...
    }
}

處理方 1、作為處理請求的對象,首先需要在配置文件中聲明對外提供的能力,以便系統據此找到自身并作為候選的請求處理者。

{
    "module": {
        ...
        "abilities": [
            {
                ...
                "skills":[
                    {
                        "actions":[
                            "ability.intent.QUERY_WEATHER"
                        ]
                    }
                ]
                ...
            }
        ]
        ...
    }
    ...
}

2、在 Ability 中配置路由以便支持以此 action 導航到對應的 AbilitySlice。

@Override
protected void onStart(Intent intent) {
    ...
    addActionRoute(Intent.ACTION_QUERY_WEATHER, DemoSlice.class.getName());
    ...
}

3、在 Ability 中處理請求,并調用 setResult () 方法暫存返回結果。

@Override
protected void onActive() {
    ...
    Intent resultIntent = new Intent();
    setResult(0, resultIntent);   //0為當前Ability銷毀后返回的resultCode。
    ...
}

審核編輯 黃宇


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    QCon·上海站HarmonyOS開發者技術分論壇:共探鴻蒙開發新機遇

    當前,AI 技術重構開發邏輯、多設備協同成為技術主流,鴻蒙開發能力正迎來從“能用好用”到“實用便捷”的關鍵躍遷。10月24日,2025年QCon全球軟件開發大會上海站HarmonyOS
    的頭像 發表于 10-24 15:59 ?880次閱讀
    QCon·上海站<b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>者技術分論壇:共探鴻蒙<b class='flag-5'>開發</b>新機遇

    RK3506開發板Linux開發板極致性價比

    RK3506開發板Linux開發板極致性價比選瑞芯微RK3506開發板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統支持,128MB超
    的頭像 發表于 09-11 16:26 ?3464次閱讀
    RK3506<b class='flag-5'>開發</b>板Linux<b class='flag-5'>開發</b>板極致性價比<b class='flag-5'>之</b>選

    奮斗正青春,HarmonyOS 5與你鐫刻生活印記

    2020 年初遇HarmonyOS,這位熱衷探索前沿技術的年輕人,便一頭扎進鴻蒙世界。他憑借持續學習與實踐,不僅掌握了扎實的開發本領,更通過博客、社區分享經驗,化身引路人,帶領更多開發
    的頭像 發表于 09-04 15:53 ?558次閱讀
    奮斗正青春,<b class='flag-5'>HarmonyOS</b> 5與你鐫刻生活印記

    Taro on HarmonyOS 技術架構深度解析

    on HarmonyOS 的技術實現方案、核心優化策略,以及開源版本的主要特性。 本文將詳細介紹 Taro on HarmonyOS 的技術架構、性能優化實踐和開源進展,分享我們在跨端開發中遇到的問題和解決思路
    的頭像 發表于 08-04 16:10 ?788次閱讀
    Taro on <b class='flag-5'>HarmonyOS</b> 技術架構深度解析

    HarmonyOS 5】鴻蒙中進度條的使用詳解

    HarmonyOS 5】鴻蒙中進度條的使用詳解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、HarmonyOS中Progress進度
    的頭像 發表于 07-11 18:26 ?1142次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】鴻蒙中進度條的使用詳解

    HarmonyOS 5】鴻蒙mPaaS詳解

    HarmonyOS 5】鴻蒙mPaaS詳解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、mPaaS是什么? mPaaS 是 Mobile
    的頭像 發表于 07-11 18:23 ?893次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】鴻蒙mPaaS詳解

    HarmonyOS 5】金融應用開發鴻蒙組件實踐

    HarmonyOS 5】金融應用開發鴻蒙組件實踐 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、鴻蒙生態觀察 2024 年 1 月 1
    的頭像 發表于 07-11 18:20 ?960次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】金融應用<b class='flag-5'>開發</b>鴻蒙組件實踐

    HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解

    HarmonyOS 5 入門系列 】鴻蒙HarmonyOS示例項目講解 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財# 一、前言:移動
    的頭像 發表于 07-07 11:57 ?1084次閱讀
    【 <b class='flag-5'>HarmonyOS</b> 5 入門系列 】鴻蒙<b class='flag-5'>HarmonyOS</b>示例項目講解

    HarmonyOS入門指南

    1、文檔與教程 HarmonyOS開發文檔-應用開發導讀 OpenHarmony--應用開發導讀 倉頡編程語言官網 華為開發者博客 華為
    的頭像 發表于 06-27 00:11 ?790次閱讀

    華為正式啟動HarmonyOS 6開發者Beta

    在2025年華為開發者大會(HDC)上,華為正式啟動HarmonyOS 6開發者Beta,并全面展示一年多以來與合作伙伴共建鴻蒙生態的創新成果。
    的頭像 發表于 06-24 15:42 ?837次閱讀

    HarmonyOS 代碼工坊的指尖開發,讓 APP 開發所見即所得

    沙盤被直接搬入了移動設備本身。眼尖的開發者應該已經發現,最近華為應用市場“應用嘗鮮”專區里,上架了一款名為“HarmonyOS 代碼工坊”的新應用,下載量持續攀升。 開發者只需要下載“Harm
    的頭像 發表于 06-24 12:08 ?827次閱讀
    <b class='flag-5'>HarmonyOS</b> 代碼工坊的指尖<b class='flag-5'>開發</b>,讓 APP <b class='flag-5'>開發</b>所見即所得

    HarmonyOS NEXT意圖框架習慣推薦二場景開發實現

    開發步驟 在應用工程中新增PROJECT_HOME/entry/src/main/resources/base/profile/insight_intent.json文件注冊意圖,指定意圖名稱和所屬
    發表于 06-19 15:37

    HarmonyOS基礎組件:Button三種類型的使用

    簡介 HarmonyOS在明年將正式不再兼容Android原生功能,這意味著對于客戶端的小伙伴不得不開始學習HarmonyOS開發語言。本篇文章主要介紹鴻蒙中的Button使用。
    的頭像 發表于 06-09 15:48 ?2614次閱讀
    <b class='flag-5'>HarmonyOS</b>基礎組件:Button三種類型的使用

    HarmonyOS5云服務技術分享--ArkTS開發Node環境

    ? 你好呀,開發者小伙伴們!今天我們來聊聊如何在HarmonyOS(ArkTS API 9及以上)中玩轉云函數,特別是結合Node.js和HTTP觸發器的開發技巧。文章會手把手帶你從零開始,用最接地
    發表于 05-22 17:21

    【「零基礎開發AI Agent」閱讀體驗】+ 入門學習

    的是基礎,主要從為什么要學習AI Agent和開發AI Agent的知識儲備入手進行介紹。作為入門AI Agent的小白還是很有必要學習的。這里將一些重要觀點作個歸納 1.AI Ag
    發表于 05-02 09:26