色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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
    +關注

    關注

    79

    文章

    1977

    瀏覽量

    30264
收藏 人收藏

    評論

    相關推薦

    HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發

    HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發 隨著HarmonyOS NEXT發布,鴻蒙生態日益壯大,廣大開發者對于
    發表于 01-02 14:24

    HarmonyOS開發指導類文檔更新速遞(下)

    伴隨著HarmonyOS 5.0.0 Release、HarmonyOS 5.0.1 Release版本的發布,HarmonyOS官網文檔也帶來了不少上新內容。本期HarmonyOS
    的頭像 發表于 12-30 09:54 ?91次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>指導類文檔更新速遞(下)

    HarmonyOS開發指導類文檔更新速遞(上)

    伴隨著HarmonyOS 5.0.0 Release版本的發布,HarmonyOS官網文檔也帶來了不少上新內容。本期HarmonyOS NEXT開發者資料直通車將從文檔更新角度為
    的頭像 發表于 12-30 09:50 ?86次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>指導類文檔更新速遞(上)

    HarmonyOS開發寶典震撼來襲,卓越應用開發之旅一觸即發,輕松啟程!

    HarmonyOS賦能產品,全面護航開發者從HarmonyOS感知、學習進階、開發實踐至技術支持的全旅程,助力
    發表于 12-05 08:57

    HarmonyOS NEXT應用元服務開發Intents Kit(意圖框架服務)習慣推薦方案概述

    一、習慣推薦是HarmonyOS學習用戶的行為習慣后做出的主動預測推薦。 1.開發者將用戶在應用/元服務內的使用行為向HarmonyOS共享,使得H
    發表于 11-19 17:59

    北京迅為RK3568開發板嵌入式學習Linux驅動全新更新-CAN+

    北京迅為RK3568開發板嵌入式學習Linux驅動全新更新-CAN+
    的頭像 發表于 09-04 15:29 ?540次閱讀
    北京迅為RK3568<b class='flag-5'>開發</b>板嵌入式<b class='flag-5'>學習</b><b class='flag-5'>之</b>Linux驅動全新更新-CAN+

    慶科信息獲HarmonyOS高級應用開發能力認證!助力品牌快速打造鴻蒙原生應用

    近日,上海慶科信息技術有限公司榮獲HarmonyOS應用開發者高級認證,公司在華為鴻蒙生態的開發能力得到進一步拓展,能夠幫助客戶快速開發基于Harm
    的頭像 發表于 07-17 13:24 ?604次閱讀
    慶科信息獲<b class='flag-5'>HarmonyOS</b>高級應用<b class='flag-5'>開發</b>能力認證!助力品牌快速打造鴻蒙原生應用

    HarmonyOS開發案例:【首選項】

    基于HarmonyOS的首選項能力實現的一個簡單示例。
    的頭像 發表于 04-19 16:20 ?1271次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>案例:【首選項】

    潤開鴻獲鴻蒙先鋒授牌,榮膺華為HarmonyOS開發服務商

    3月27日,華為HDD行業沙龍在北京舉辦,本次活動由HarmonyOS產品專家帶來了精彩的議題分享,涵蓋HarmonyOS操作系統介紹、HarmonyOS應用特性分享、意圖框架介紹、行業解決方案應用、
    的頭像 發表于 03-29 10:33 ?702次閱讀
    潤開鴻獲鴻蒙先鋒授牌,榮膺華為<b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發</b>服務商

    潤開鴻榮膺華為HarmonyOS開發服務商

    近日,華為HDD行業沙龍在北京隆重舉行。在這場盛會上,HarmonyOS產品專家發表了引人入勝的議題分享,內容廣泛而深入,包括HarmonyOS操作系統的全面介紹、應用特性的獨到解析、意圖框架的細致闡述,以及行業解決方案的生動應用和開發
    的頭像 發表于 03-29 09:47 ?702次閱讀

    HarmonyOS開發技術全面分析

    的快速連接、能力互助、資源共享,匹配合適的設備、提供流暢的全場景體驗。 ? 對應用開發者而言, HarmonyOS 采用了多種分布式技術,使得應用程序的開發實現與不同終端設備的形態差異無關,降低了
    發表于 02-21 16:31

    HarmonyOS SDK 助力新浪新聞打造精致易用的新聞應用

    開發多端部署,打通全鏈新聞服務 為了支撐開發者高效開發多終端設備上的應用,HarmonyOS 提供了包括多端
    發表于 02-07 15:51

    華為宣布HarmonyOS NEXT鴻蒙星河版開發者預覽面向開發者開放申請

    華為宣布HarmonyOS NEXT鴻蒙星河版開發者預覽面向開發者開放申請,這意味著鴻蒙生態進入第二階段,將加速千行百業的應用鴻蒙化。
    的頭像 發表于 01-29 16:42 ?1434次閱讀
    華為宣布<b class='flag-5'>HarmonyOS</b> NEXT鴻蒙星河版<b class='flag-5'>開發</b>者預覽面向<b class='flag-5'>開發</b>者開放申請

    淘寶與華為合作將基于HarmonyOS NEXT啟動鴻蒙原生應用開發

    1月25日,淘寶與華為舉辦鴻蒙合作簽約儀式,宣布將基于HarmonyOS NEXT啟動鴻蒙原生應用開發
    的頭像 發表于 01-26 16:14 ?1141次閱讀

    免費學習鴻蒙(HarmonyOS開發,一些地址分享

    國內一流高校。通過鴻蒙班的設立,高校可以為學生提供專業的鴻蒙OS學習環境和豐富的實踐機會,培養出更多的鴻蒙開發人才,為鴻蒙OS系統的生態建設做出貢獻。 其中南京大學已經將HarmonyOS作為《移動
    發表于 01-12 20:48
    主站蜘蛛池模板: 久久精品一区二区影院| 国产性夜夜春夜夜爽1A片| 俄罗斯人与动ZOOZ| 麻豆免费高清完整版| 亚洲视频欧美在线专区| 国产精品无码无卡毛片不卡视| 免费精品国产人妻国语麻豆| 一本色道久久综合亚洲AV蜜桃| 国产精品www视频免费看| 日韩精品 中文字幕 有码| 99精彩免费观看| 免费看男人J放进女人J无遮掩| 亚洲视频在线观| 精品少妇高潮蜜臀涩涩AV| 亚洲天堂一区二区三区| 国内精品视频久久久久免费| 胸大美女又黄的网站| 国产精品人妻无码久久久蜜桃| 婷婷激情综合色五月久久竹菊影视| 成人毛片免费播放| 色男人的天堂久久综合| 国产产乱码一二三区别免费| 善良的女房东味道2在线观看| 国产99精品视频一区二区三区| 神马电影我不卡4k手机在线观看 | 女人高潮时一吸一夹| 99久久免费精品国产免费| 欧美人与动牲交A免费| yellow免费观看直播| 肉肉描写很细致的黄文| 国产美女视频一区二区二三区| 亚洲AV无码一区二区色情蜜芽| 极品色αv影院| 91avcom| 欧洲精品一区二区不卡观看| 高h 纯肉文| 亚洲天码中字| 欧美国产精品久久久乱码| 顶级少妇AAAAABBBBB片| 亚洲国产精品无码AV久久久| 久久久久久九九|