日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

    文章

    2157

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    釘釘正式開(kāi)源HarmonyOS圖片編輯組件

    近日,由釘釘團(tuán)隊(duì)自主研發(fā)的“HarmonyOS圖片編輯組件”正式上線OpenHarmony三方庫(kù)中心倉(cāng)并開(kāi)源。作為一款填補(bǔ)鴻蒙社區(qū)圖像處理領(lǐng)域空白的重量級(jí)組件,該方案基于HarmonyOS
    的頭像 發(fā)表于 01-05 09:58 ?693次閱讀

    QCon·上海站HarmonyOS開(kāi)發(fā)者技術(shù)分論壇:共探鴻蒙開(kāi)發(fā)新機(jī)遇

    當(dāng)前,AI 技術(shù)重構(gòu)開(kāi)發(fā)邏輯、多設(shè)備協(xié)同成為技術(shù)主流,鴻蒙開(kāi)發(fā)能力正迎來(lái)從“能用好用”到“實(shí)用便捷”的關(guān)鍵躍遷。10月24日,2025年QCon全球軟件開(kāi)發(fā)大會(huì)上海站HarmonyOS
    的頭像 發(fā)表于 10-24 15:59 ?1004次閱讀
    QCon·上海站<b class='flag-5'>HarmonyOS</b><b class='flag-5'>開(kāi)發(fā)</b>者技術(shù)分論壇:共探鴻蒙<b class='flag-5'>開(kāi)發(fā)</b>新機(jī)遇

    RK3506開(kāi)發(fā)板Linux開(kāi)發(fā)板極致性價(jià)比

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

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

    2020 年初遇HarmonyOS,這位熱衷探索前沿技術(shù)的年輕人,便一頭扎進(jìn)鴻蒙世界。他憑借持續(xù)學(xué)習(xí)與實(shí)踐,不僅掌握了扎實(shí)的開(kāi)發(fā)本領(lǐng),更通過(guò)博客、社區(qū)分享經(jīng)驗(yàn),化身引路人,帶領(lǐng)更多開(kāi)發(fā)
    的頭像 發(fā)表于 09-04 15:53 ?660次閱讀
    奮斗正青春,<b class='flag-5'>HarmonyOS</b> 5與你鐫刻生活印記

    Taro on HarmonyOS 技術(shù)架構(gòu)深度解析

    on HarmonyOS 的技術(shù)實(shí)現(xiàn)方案、核心優(yōu)化策略,以及開(kāi)源版本的主要特性。 本文將詳細(xì)介紹 Taro on HarmonyOS 的技術(shù)架構(gòu)、性能優(yōu)化實(shí)踐和開(kāi)源進(jìn)展,分享我們?cè)诳缍?b class='flag-5'>開(kāi)發(fā)中遇到的問(wèn)題和解決思路
    的頭像 發(fā)表于 08-04 16:10 ?942次閱讀
    Taro on <b class='flag-5'>HarmonyOS</b> 技術(shù)架構(gòu)深度解析

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

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

    HarmonyOS 5】鴻蒙mPaaS詳解

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

    HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐

    HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、鴻蒙生態(tài)觀察 2024 年 1 月 1
    的頭像 發(fā)表于 07-11 18:20 ?1157次閱讀
    【<b class='flag-5'>HarmonyOS</b> 5】金融應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>鴻蒙組件實(shí)踐

    HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解

    HarmonyOS 5 入門(mén)系列 】鴻蒙HarmonyOS示例項(xiàng)目講解 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類應(yīng)用 (金融理財(cái)# 一、前言:移動(dòng)
    的頭像 發(fā)表于 07-07 11:57 ?1221次閱讀
    【 <b class='flag-5'>HarmonyOS</b> 5 入門(mén)系列 】鴻蒙<b class='flag-5'>HarmonyOS</b>示例項(xiàng)目講解

    HarmonyOS入門(mén)指南

    1、文檔與教程 HarmonyOS開(kāi)發(fā)文檔-應(yīng)用開(kāi)發(fā)導(dǎo)讀 OpenHarmony--應(yīng)用開(kāi)發(fā)導(dǎo)讀 倉(cāng)頡編程語(yǔ)言官網(wǎng) 華為開(kāi)發(fā)者博客 華為
    的頭像 發(fā)表于 06-27 00:11 ?939次閱讀

    華為正式啟動(dòng)HarmonyOS 6開(kāi)發(fā)者Beta

    在2025年華為開(kāi)發(fā)者大會(huì)(HDC)上,華為正式啟動(dòng)HarmonyOS 6開(kāi)發(fā)者Beta,并全面展示一年多以來(lái)與合作伙伴共建鴻蒙生態(tài)的創(chuàng)新成果。
    的頭像 發(fā)表于 06-24 15:42 ?1038次閱讀

    HarmonyOS 代碼工坊的指尖開(kāi)發(fā),讓 APP 開(kāi)發(fā)所見(jiàn)即所得

    沙盤(pán)被直接搬入了移動(dòng)設(shè)備本身。眼尖的開(kāi)發(fā)者應(yīng)該已經(jīng)發(fā)現(xiàn),最近華為應(yīng)用市場(chǎng)“應(yīng)用嘗鮮”專區(qū)里,上架了一款名為“HarmonyOS 代碼工坊”的新應(yīng)用,下載量持續(xù)攀升。 開(kāi)發(fā)者只需要下載“Harm
    的頭像 發(fā)表于 06-24 12:08 ?960次閱讀
    <b class='flag-5'>HarmonyOS</b> 代碼工坊的指尖<b class='flag-5'>開(kāi)發(fā)</b>,讓 APP <b class='flag-5'>開(kāi)發(fā)</b>所見(jiàn)即所得

    HarmonyOS NEXT意圖框架習(xí)慣推薦二場(chǎng)景開(kāi)發(fā)實(shí)現(xiàn)

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

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

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

    HarmonyOS5云服務(wù)技術(shù)分享--ArkTS開(kāi)發(fā)Node環(huán)境

    ? 你好呀,開(kāi)發(fā)者小伙伴們!今天我們來(lái)聊聊如何在HarmonyOS(ArkTS API 9及以上)中玩轉(zhuǎn)云函數(shù),特別是結(jié)合Node.js和HTTP觸發(fā)器的開(kāi)發(fā)技巧。文章會(huì)手把手帶你從零開(kāi)始,用最接地
    發(fā)表于 05-22 17:21
    安多县| 海原县| 河源市| 扎赉特旗| 堆龙德庆县| 墨竹工卡县| 广平县| 桑日县| 金塔县| 会宁县| 无锡市| 榆林市| 南昌县| 团风县| 梅州市| 台东县| 邹城市| 布尔津县| 芜湖市| 柳州市| 积石山| 靖宇县| 苏州市| 永城市| 昌吉市| 盖州市| 长丰县| 涡阳县| 若尔盖县| 拜城县| 平顶山市| 许昌市| 图木舒克市| 连州市| 肇源县| 留坝县| 大田县| 泾川县| 延津县| 札达县| 娱乐|