在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

HarmonyOS 學(xué)習(xí)路之開(kāi)發(fā)篇 ——Intent

王程 ? 來(lái)源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-20 14:52 ? 次閱讀

Intent

基本概念

Intent 是對(duì)象之間傳遞信息的載體。例如,當(dāng)一個(gè) Ability 需要啟動(dòng)另一個(gè) Ability 時(shí),或者一個(gè) AbilitySlice 需要導(dǎo)航到另一個(gè) AbilitySlice 時(shí),可以通過(guò) Intent 指定啟動(dòng)的目標(biāo)同時(shí)攜帶相關(guān)數(shù)據(jù)。Intent 的構(gòu)成元素包括 Operation 與 Parameters,具體描述參見(jiàn)表 1。

wKgaomXUS_6AdNTpAADjbc4OoZM532.png


表 1 Intent 的構(gòu)成元素 當(dāng) Intent 用于發(fā)起請(qǐng)求時(shí),根據(jù)指定元素的不同,分為兩種類型:

如果同時(shí)指定了 BundleName 與 AbilityName,則根據(jù) Ability 的全稱(例如 “com.demoapp.FooAbility”)來(lái)直接啟動(dòng)應(yīng)用。

如果未同時(shí)指定 BundleName 和 AbilityName,則根據(jù) Operation 中的其他屬性來(lái)啟動(dòng)應(yīng)用。

說(shuō)明 Intent 設(shè)置屬性時(shí),必須先使用 Operation 來(lái)設(shè)置屬性。如果需要新增或修改屬性,必須在設(shè)置 Operation
后再執(zhí)行操作。

關(guān)于 Intent 最簡(jiǎn)單的使用方法,可參見(jiàn)快速入門(mén)的示例代碼。其中 “實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)” 重點(diǎn)描述了使用 Intent 實(shí)現(xiàn)兩個(gè)頁(yè)面跳轉(zhuǎn)關(guān)系的操作。

根據(jù) Ability 的全稱啟動(dòng)應(yīng)用

通過(guò)構(gòu)造包含 BundleName 與 AbilityName 的 Operation 對(duì)象,可以啟動(dòng)一個(gè) Ability、并導(dǎo)航到該 Ability。示例代碼如下:

Intent intent = new Intent();
// 通過(guò)Intent中的OperationBuilder類構(gòu)造operation對(duì)象,指定設(shè)備標(biāo)識(shí)(空串表示當(dāng)前設(shè)備)、應(yīng)用包名、Ability名稱
Operation operation = new Intent.OperationBuilder()
        .withDeviceId("")
        .withBundleName("com.demoapp")
        .withAbilityName("com.demoapp.FooAbility")
        .build();
// 把operation設(shè)置到intent中
intent.setOperation(operation);
startAbility(intent);

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

請(qǐng)求方

在 Ability 中構(gòu)造 Intent 以及包含 Action 的 Operation 對(duì)象,并調(diào)用 startAbilityForResult () 方法發(fā)起請(qǐng)求。然后重寫(xiě) onAbilityResult () 回調(diào)方法,對(duì)請(qǐng)求結(jié)果進(jìn)行處理。

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、作為處理請(qǐng)求的對(duì)象,首先需要在配置文件中聲明對(duì)外提供的能力,以便系統(tǒng)據(jù)此找到自身并作為候選的請(qǐng)求處理者。

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

2、在 Ability 中配置路由以便支持以此 action 導(dǎo)航到對(duì)應(yīng)的 AbilitySlice。

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

3、在 Ability 中處理請(qǐng)求,并調(diào)用 setResult () 方法暫存返回結(jié)果。

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

審核編輯 黃宇


聲明:本文內(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)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2084

    瀏覽量

    32228
收藏 人收藏

    評(píng)論

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

    HarmonyOS基礎(chǔ)組件:Button三種類型的使用

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

    【「零基礎(chǔ)開(kāi)發(fā)AI Agent」閱讀體驗(yàn)】+ 入門(mén)學(xué)習(xí)

    的是基礎(chǔ),主要從為什么要學(xué)習(xí)AI Agent和開(kāi)發(fā)AI Agent的知識(shí)儲(chǔ)備入手進(jìn)行介紹。作為入門(mén)AI Agent的小白還是很有必要學(xué)習(xí)的。這里將一些重要觀點(diǎn)作個(gè)歸納 1.AI Ag
    發(fā)表于 05-02 09:26

    HarmonyOS 應(yīng)用開(kāi)發(fā)賦能套件:鴻蒙原生應(yīng)用開(kāi)發(fā)的 “神助攻”

    所見(jiàn)即所得的代碼講解與即學(xué)即練的操作實(shí)踐,為不同層次的開(kāi)發(fā)者量身定制學(xué)習(xí)路徑,助力開(kāi)發(fā)者深入掌握HarmonyOS應(yīng)用開(kāi)發(fā)技能。《
    發(fā)表于 02-17 16:37

    華為推出HarmonyOS應(yīng)用開(kāi)發(fā)賦能套件

    隨著鴻蒙生態(tài)的快速發(fā)展,越來(lái)越多的開(kāi)發(fā)者投身于鴻蒙原生應(yīng)用的開(kāi)發(fā)中。然而,在學(xué)習(xí)鴻蒙原生應(yīng)用開(kāi)發(fā)時(shí),許多開(kāi)發(fā)者仍面臨一系列問(wèn)題,如不清楚如何
    的頭像 發(fā)表于 02-12 13:57 ?537次閱讀

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.56】極速探索HarmonyOS NEXT:純血鴻蒙應(yīng)用開(kāi)發(fā)實(shí)踐

    開(kāi)發(fā)的核心技術(shù),以及鴻蒙應(yīng)用在實(shí)際開(kāi)發(fā)中的應(yīng)用方法。 本書(shū)共分為四,共計(jì)16章,分別為鴻蒙開(kāi)發(fā)基礎(chǔ)、鴻蒙
    發(fā)表于 01-20 16:53

    HarmonyOS NEXT 應(yīng)用開(kāi)發(fā)練習(xí):智能視頻推薦

    一、整體思路 本DEMO展示了如何在HarmonyOS NEXT平臺(tái)上開(kāi)發(fā)一個(gè)智能視頻推薦應(yīng)用。應(yīng)用通過(guò)模擬的用戶偏好數(shù)據(jù),為用戶推薦可能感興趣的視頻。用戶可以通過(guò)滑動(dòng)屏幕查看推薦的視頻列表,并點(diǎn)擊
    發(fā)表于 01-02 16:26

    HarmonyOS第一課》煥新升級(jí),賦能開(kāi)發(fā)者快速掌握鴻蒙應(yīng)用開(kāi)發(fā)

    HarmonyOS第一課》煥新升級(jí),賦能開(kāi)發(fā)者快速掌握鴻蒙應(yīng)用開(kāi)發(fā) 隨著HarmonyOS NEXT發(fā)布,鴻蒙生態(tài)日益壯大,廣大開(kāi)發(fā)者對(duì)于
    發(fā)表于 01-02 14:24

    HarmonyOS開(kāi)發(fā)指導(dǎo)類文檔更新速遞(下)

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

    HarmonyOS開(kāi)發(fā)指導(dǎo)類文檔更新速遞(上)

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

    AICon北京站HarmonyOS技術(shù)分論壇開(kāi)啟招募,歡迎開(kāi)發(fā)者踴躍報(bào)名

    在人工智能的浪潮中,HarmonyOS以其獨(dú)特的技術(shù)優(yōu)勢(shì),引領(lǐng)著移動(dòng)應(yīng)用開(kāi)發(fā)的新趨勢(shì)。2024年12月14日,在AICon全球人工智能開(kāi)發(fā)與應(yīng)用大會(huì)(北京站)期間 ,將舉辦以“鴻蒙生態(tài)下的AI助力
    的頭像 發(fā)表于 12-11 16:39 ?523次閱讀
    AICon北京站<b class='flag-5'>HarmonyOS</b>技術(shù)分論壇開(kāi)啟招募,歡迎<b class='flag-5'>開(kāi)發(fā)</b>者踴躍報(bào)名

    HarmonyOS開(kāi)發(fā)寶典震撼來(lái)襲,卓越應(yīng)用開(kāi)發(fā)之旅一觸即發(fā),輕松啟程!

    HarmonyOS賦能產(chǎn)品,全面護(hù)航開(kāi)發(fā)者從HarmonyOS感知、學(xué)習(xí)進(jìn)階、開(kāi)發(fā)實(shí)踐至技術(shù)支持的全旅程,助力
    發(fā)表于 12-05 08:57

    HarmonyOS NEXT應(yīng)用元服務(wù)開(kāi)發(fā)Intents Kit(意圖框架服務(wù))習(xí)慣推薦方案概述

    一、習(xí)慣推薦是HarmonyOS學(xué)習(xí)用戶的行為習(xí)慣后做出的主動(dòng)預(yù)測(cè)推薦。 1.開(kāi)發(fā)者將用戶在應(yīng)用/元服務(wù)內(nèi)的使用行為向HarmonyOS共享,使得H
    發(fā)表于 11-19 17:59

    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(HarmonyOS Next)

    導(dǎo)讀HarmonyOS是全球第三大移動(dòng)操作系統(tǒng),有巨大的市場(chǎng)潛力,在國(guó)產(chǎn)替代的背景下,機(jī)會(huì)多多,AWTK支持HarmonyOS,讓AWTK開(kāi)發(fā)者也能享受HarmonyOS生態(tài)的紅利。A
    的頭像 發(fā)表于 11-06 08:03 ?742次閱讀
    AWTK 最新動(dòng)態(tài):支持鴻蒙系統(tǒng)(<b class='flag-5'>HarmonyOS</b> Next)

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)Linux驅(qū)動(dòng)全新更新-CAN+

    北京迅為RK3568開(kāi)發(fā)板嵌入式學(xué)習(xí)Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?938次閱讀
    北京迅為RK3568<b class='flag-5'>開(kāi)發(fā)</b>板嵌入式<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>之</b>Linux驅(qū)動(dòng)全新更新-CAN+

    慶科信息獲HarmonyOS高級(jí)應(yīng)用開(kāi)發(fā)能力認(rèn)證!助力品牌快速打造鴻蒙原生應(yīng)用

    近日,上海慶科信息技術(shù)有限公司榮獲HarmonyOS應(yīng)用開(kāi)發(fā)者高級(jí)認(rèn)證,公司在華為鴻蒙生態(tài)的開(kāi)發(fā)能力得到進(jìn)一步拓展,能夠幫助客戶快速開(kāi)發(fā)基于Harm
    的頭像 發(fā)表于 07-17 13:24 ?895次閱讀
    慶科信息獲<b class='flag-5'>HarmonyOS</b>高級(jí)應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>能力認(rèn)證!助力品牌快速打造鴻蒙原生應(yīng)用
    主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠2018 | 日本一区二区三区不卡在线看 | 五月月色开心婷婷久久合 | 国产成人精品免费视频大全可播放的 | 国产成人综合一区人人 | 天天插天天色 | 天天摸天天看天天爽 | 国产成人精品视频一区二区不卡 | 分分操免费视频在线观看 | 操操操综合网 | 欧美精品综合一区二区三区 | 萌白酱一线天粉嫩喷水在线观看 | 美国一级毛片不卡无毒 | 色视频色露露永久免费观看 | 1024你懂的国产精品 | 天天玩天天操 | 免费 在线观看 视频 | 精品综合久久88色鬼首页 | 日韩伦| 免费在线观看的视频 | 欧美一级欧美一级高清 | 666精品国产精品亚洲 | 午夜干b| 欧美亚洲第一区 | 亚洲午夜久久久久国产 | 美女网站一区二区三区 | 老师啊灬啊灬用力啊快224视频 | 91桃色国产线观看免费 | 四虎必出精品亚洲高清 | 天天做天天爱天天一爽一毛片 | 色多多a| 天天摸天天看天天爽 | 亚洲午夜精品在线 | 天天干天天骑 | 色香蕉在线 | 欧美成人激情在线 | 久久狠狠第一麻豆婷婷天天 | 一级一级特黄女人精品毛片 | 天天综合亚洲 | 日韩一级生活片 | 夜夜欢视频 |