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

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

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

3天內不再提示

鴻蒙開發Ability Kit程序框架服務:Stage模型啟動FA模型PageAbility

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-26 09:50 ? 次閱讀

Stage模型啟動FA模型PageAbility

本小節介紹Stage模型的兩種應用組件如何啟動FA模型的PageAbility組件。

UIAbility啟動PageAbility

UIAbility啟動PageAbility和UIAbility啟動UIAbility的方式完全相同。

說明: 需注意FA模型中abilityName由bundleName + AbilityName組成,具體見示例。 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

import { common, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

const TAG: string = '[Page_StartFAModel]';
const DOMAIN_NUMBER: number = 0xFF00;

@Entry
@Component
struct Page_StartFAModel {
  private context = getContext(this) as common.UIAbilityContext;

  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            let want: Want = {
              bundleName: 'com.samples.famodelabilitydevelop',
              abilityName: 'com.samples.famodelabilitydevelop.MainAbility'
            };
            this.context.startAbility(want).then(() = > {
              hilog.info(DOMAIN_NUMBER, TAG, 'Start Ability successfully.');
            }).catch((error: BusinessError) = > {
              hilog.error(DOMAIN_NUMBER, TAG, `Ability failed: ` + JSON.stringify(error));
            });
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

UIAbility訪問PageAbility(startAbilityForResult)

startAbilityForResult和startAbility的區別是當PageAbility銷毀的時候會返回執行結果。

UIAbility通過startAbilityForResult啟動PageABility和UIAbility通過startAbilityForResult啟動UIAbility的代碼一樣,沒有任何區別。
HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

新文檔.png

import { common, Want } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { promptAction } from '@kit.ArkUI';

const TAG: string = '[Page_StartFAModel]';
const DOMAIN_NUMBER: number = 0xFF00;

@Entry
@Component
struct Page_StartFAModel {
  private context = getContext(this) as common.UIAbilityContext;

  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            let want: Want = {
              bundleName: 'com.samples.famodelabilitydevelop',
              abilityName: 'com.samples.famodelabilitydevelop.MainAbility',
            };
            this.context.startAbilityForResult(want).then((result) = > {
              hilog.info(DOMAIN_NUMBER, TAG, 'Ability verify result: ' + JSON.stringify(result));
              if (result !== null) {
                promptAction.showToast({
                  message: JSON.stringify(result)
                });
              }
            }).catch((error: BusinessError) = > {
              hilog.error(DOMAIN_NUMBER, TAG, `Ability failed: ` + JSON.stringify(error));
            });
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

ExtensionAbility啟動PageAbility

下面以ServiceExtensionAbility為例來說明ExtensionAbility啟動PageAbility。ServiceExtensionAbility啟動PageAbility和ServiceExtensionAbility啟動UIAbility的方式完全相同。

import { Want, ServiceExtensionAbility } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { rpc } from '@kit.IPCKit';
import ServiceExtImpl from '../IdlServiceExt/idl_service_ext_impl';

const TAG: string = '[ServiceExtAbility]';
const DOMAIN_NUMBER: number = 0xFF00;

export default class ServiceExtAbility extends ServiceExtensionAbility {
  serviceExtImpl: ServiceExtImpl = new ServiceExtImpl('ExtImpl');

  onCreate(want: Want): void {
    let serviceExtensionContext = this.context;
    hilog.info(DOMAIN_NUMBER, TAG, `onCreate, want: ${want.abilityName}`);
  };

  onRequest(want: Want, startId: number): void {
    hilog.info(DOMAIN_NUMBER, TAG, `onRequest, want: ${want.abilityName}`);
    if (want.parameters?.key === 'ConnectFaPageAbility') {
      let wantFA: Want = {
        bundleName: 'com.samples.famodelabilitydevelop',
        abilityName: 'com.samples.famodelabilitydevelop.MainAbility',
      };
      this.context.startAbility(wantFA).then(() = > {
        hilog.info(DOMAIN_NUMBER, TAG, 'Start Ability successfully.');
      }).catch((error: BusinessError) = > {
        hilog.info(DOMAIN_NUMBER, TAG, `Ability failed: ${JSON.stringify(error)}`);
      });
    }
  };

  onConnect(want: Want): rpc.RemoteObject {
    hilog.info(DOMAIN_NUMBER, TAG, `onConnect, want: ${want.abilityName}`);
    // 返回ServiceExtImpl對象,客戶端獲取后便可以與ServiceExtensionAbility進行通信
    return this.serviceExtImpl as rpc.RemoteObject;
  };

  onDisconnect(want: Want): void {
    hilog.info(DOMAIN_NUMBER, TAG, `onDisconnect, want: ${want.abilityName}`);
  };

  onDestroy(): void {
    hilog.info(DOMAIN_NUMBER, TAG, 'onDestroy');
  };
}

審核編輯 黃宇

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

    關注

    0

    文章

    403

    瀏覽量

    17557
  • 模型
    +關注

    關注

    1

    文章

    3342

    瀏覽量

    49272
  • 鴻蒙
    +關注

    關注

    57

    文章

    2397

    瀏覽量

    43098
收藏 人收藏

    評論

    相關推薦

    鴻蒙Ability開發-Stage模型Ability的創建和使用

    Ability開發技術的簡單運用,更多的鴻蒙開發技術可以前往我主頁查詢,下面分享鴻蒙開發4.0
    發表于 01-08 15:34

    OpenHarmony開發Ability架構

    管理,從而實現對用戶程序的調度。Ability框架在API 8及更早版本使用FA模型FA
    發表于 05-12 15:12

    使用FeatureAbility模塊啟動其他Ability

    直接操作,可以和FA配合使用。在JS/eTS語言中,Ability框架又被分為FA模型Stage
    發表于 09-02 15:04

    HarmonyOS/OpenHarmony應用開發-FA模型綜述

    FA模型整體架構****HarmonyOS用戶程序開發本質上就是開發Ability。Harmo
    發表于 12-07 10:39

    鴻蒙服務萬能卡片開發-stage模型fa模型的卡片區別

    一、項目類型 Application: 應用開發 Atomic Service:原子化服務開發 這里選擇Empty Ability模板創建項目。 二、
    發表于 05-22 14:20

    鴻蒙應用模型:【Ability Kit】簡介

    Ability Kit程序框架服務)提供了應用程序開發
    的頭像 發表于 05-29 14:41 ?730次閱讀
    <b class='flag-5'>鴻蒙</b>應用<b class='flag-5'>模型</b>:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

    鴻蒙開發Ability Kit程序框架服務FA模型Stage模型應用組件互通綜述

    FA模型Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA
    的頭像 發表于 06-24 16:43 ?593次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>與<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>應用組件互通綜述

    鴻蒙開發Ability Kit程序框架服務FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應用組件如何啟動Stage模型的UIAbility組件。
    的頭像 發表于 06-25 16:00 ?435次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b><b class='flag-5'>啟動</b><b class='flag-5'>Stage</b><b class='flag-5'>模型</b>UIAbility

    鴻蒙開發Ability Kit程序框架服務FA模型綁定Stage模型ServiceExtensionAbility

    本文介紹FA模型的三種應用組件如何綁定Stage模型的ServiceExtensionAbility組件。
    的頭像 發表于 06-25 10:43 ?358次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>綁定<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>ServiceExtensionAbility

    鴻蒙開發Ability Kit程序框架服務FA模型訪問Stage模型DataShareExtensionAbility

    無論FA模型還是Stage模型,數據讀寫功能都包含客戶端和服務端兩部分。
    的頭像 發表于 06-25 14:30 ?454次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>訪問<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>DataShareExtensionAbility

    鴻蒙開發Ability Kit程序框架服務Stage模型綁定FA模型ServiceAbility

    本小節介紹Stage模型的兩種應用組件如何綁定FA模型ServiceAbility組件。
    的頭像 發表于 06-25 21:47 ?365次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>綁定<b class='flag-5'>FA</b><b class='flag-5'>模型</b>ServiceAbility

    鴻蒙開發Ability Kit程序框架服務FA模型切換Stage模型概述

    本文介紹如何將一個FA模型開發的聲明式范式應用切換到Stage模型
    的頭像 發表于 06-26 14:40 ?399次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>概述

    鴻蒙開發Ability Kit程序框架服務FA模型切換Stage模型指導 app和deviceConfig的切換

    為了便于開發者維護應用級別的屬性配置,Stage模型將config.json中的app和deviceConfig標簽提取到了app.json5中進行配置,并對部分標簽名稱進行了修改,具體差異見下表。
    的頭像 發表于 06-27 10:01 ?413次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導 app和deviceConfig的切換

    鴻蒙開發Ability Kit程序框架服務FA模型切換Stage模型指導 module的切換

    FA模型切換到Stage模型時,開發者需要將config.json文件module標簽下的配置遷移到module.json5配置文件mod
    的頭像 發表于 06-27 14:16 ?544次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>FA</b><b class='flag-5'>模型</b>切換<b class='flag-5'>Stage</b><b class='flag-5'>模型</b>指導 module的切換

    鴻蒙開發Ability Kit程序框架服務PageAbility切換 組件切換

    FA模型PageAbility對應Stage模型中的UIAbility,PageAbility
    的頭像 發表于 06-28 11:38 ?408次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:<b class='flag-5'>PageAbility</b>切換 組件切換
    主站蜘蛛池模板: 美女大黄三级视频在线观看 | 色男人社区 | 你懂得网址在线观看 | 最近在线视频免费观看2019 | 国产精品电影一区 | 国产色婷婷精品免费视频 | a级毛片网 | 久久精品2020 | 美女禁处 | 五月婷婷丁香在线 | 丁香六月婷婷七月激情 | 久久精品国产99精品国产2021 | 亚洲日韩图片专区第1页 | 在线观看免费午夜大片 | 色色色色色网 | 亚洲男女免费视频 | 欧美不卡在线视频 | 四虎免费大片aⅴ入口 | 日韩精品一区二区三区免费视频 | a站在线观看 | 特黄特色大片免费播放路01 | 日本人六九视频69jzz免费 | 视频在线观看一区二区三区 | 永久免费看毛片 | 欧美高清在线观看视频 | 国内视频一区二区 | 亚洲精品成人久久久影院 | 国产大片免费观看资源 | 日本xxxx色视频在线观看 | 五月丁香六月综合缴清无码 | 国内精品91久久久久 | 亚洲精品中文字幕乱码三区一二 | 午夜性刺激免费视频观看不卡专区 | 狠狠狠操 | 国内一级特黄女人精品毛片 | 老师下面好紧 | 亚欧色视频在线观看免费 | 天天插夜夜爽 | 香港经典a毛片免费观看爽爽影院 | 色在线免费观看 | 免费一级欧美片片线观看 |