0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发Ability Kit程序框架服务:FA模型绑定Stage模型ServiceExtensionAbility

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-25 10:43 次阅读

FA模型绑定Stage模型ServiceExtensionAbility

本文介绍FA模型的三种应用组件如何绑定Stage模型的ServiceExtensionAbility组件。
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

PageAbility关联访问ServiceExtensionAbility

PageAbility关联访问ServiceExtensionAbility和PageAbility关联访问ServiceAbility的方式完全相同。

import featureAbility from '@ohos.ability.featureAbility';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';

const TAG: string = 'PageInterflowFaAndStage';
const domain: number = 0xFF00;

@Entry
@Component
struct PageInterflowFaAndStage {
  build() {
    Column() {
      // ...
      List({ initialIndex: 0 }) {
        ListItem() {
          Row() {
            // ...
          }
          .onClick(() = > {
            let want: Want = {
              bundleName: 'ohos.samples.etsclock',
              abilityName: 'MainAbility'
            };
            featureAbility.startAbility({ want }).then((code) = > {
              hilog.info(domain, TAG, 'Ability verify code: ' + JSON.stringify(code));
            }).catch((error: BusinessError) = > {
              hilog.error(domain, TAG, 'Ability failed: ' + JSON.stringify(error));
            });
            let serviceWant: Want = {
              bundleName: 'com.samples.stagemodelabilityinteraction',
              abilityName: 'ServiceExtAbility'
            };
            let faConnect: common.ConnectOptions = {
              onConnect: (elementName, proxy) = > {
                hilog.info(domain, TAG, "FaConnection onConnect called.");
              },
              onDisconnect: (elementName) = > {
                hilog.info(domain, TAG, "FaConnection onDisconnect called.");
              },
              onFailed: (code) = > {
                hilog.info(domain, TAG, "FaConnection onFailed code is: " + code);
              }
            };
            let connectionId = featureAbility.connectAbility(serviceWant, faConnect);
          })
        }
        // ...
      }
      // ...
    }
    // ...
  }
}

ServiceAbility/DataAbility关联访问ServiceExtensionAbility

ServiceAbility/DataAbility关联访问ServiceExtensionAbility和ServiceAbility/DataAbility关联访问ServiceAbility的方式完全相同。
HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151547.png

import type common from '@ohos.app.ability.common';
import particleAbility from '@ohos.ability.particleAbility';
import type Want from '@ohos.app.ability.Want';
import type { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';

const TAG: string = '[Sample_FAModelAbilityDevelop]';
const domain: number = 0xFF00;

class ServiceAbilityStartUiAbility {
  onStart(): void {
    // 启动UIAbility
    let want: Want = {
      bundleName: 'ohos.samples.etsclock',
      abilityName: 'MainAbility'
    };
    particleAbility.startAbility({ want }).then(() = > {
      hilog.info(domain, TAG, 'ServiceAbilityStartUIAbility Start Ability successfully.');
    }).catch((error: BusinessError) = > {
      hilog.info(domain, TAG, 'ServiceAbilityStartUIAbility Ability failed: ' + JSON.stringify(error));
    });

    // 访问ServiceExtensionAbility
    let serviceWant: Want = {
      bundleName: 'com.samples.stagemodelabilityinteraction',
      abilityName: 'ServiceExtAbility'
    };
    let faConnect: common.ConnectOptions = {
      onConnect: (elementName, proxy) = > {
        hilog.info(domain, TAG, 'FaConnection onConnect called.');
      },
      onDisconnect: (elementName) = > {
        hilog.info(domain, TAG, 'FaConnection onDisconnect called.');
      },
      onFailed: (code) = > {
        hilog.info(domain, TAG, 'FaConnection onFailed code is: ' + code);
      }
    };
    let connectionId = particleAbility.connectAbility(serviceWant, faConnect);
    hilog.info(domain, TAG, 'ServiceAbilityStartUIAbility ServiceAbility onStart');
  }
};

export default new ServiceAbilityStartUiAbility();

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 框架
    +关注

    关注

    0

    文章

    403

    浏览量

    17477
  • 模型
    +关注

    关注

    1

    文章

    3229

    浏览量

    48813
  • 鸿蒙
    +关注

    关注

    57

    文章

    2345

    浏览量

    42822
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发Ability Kit程序框架服务:API切换概述 API切换

    FA模型Stage模型由于线程模型和进程模型的差异,部分接口仅在
    的头像 发表于 06-28 16:23 334次阅读
    <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>:API切换概述 API切换

    鸿蒙开发Ability Kit程序框架服务:ServiceAbility切换 组件切换

    FA模型中的ServiceAbility对应Stage模型中的ServiceExtensionAbility
    的头像 发表于 06-28 10:24 326次阅读
    <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>:ServiceAbility切换 组件切换

    鸿蒙开发Ability Kit程序框架服务FA模型切换Stage模型指导 module的切换

    FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件mod
    的头像 发表于 06-27 14:16 450次阅读
    <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程序框架服务FA模型切换Stage模型指导 app和deviceConfig的切换

    为了便于开发者维护应用级别的属性配置,Stage模型将config.json中的app和deviceConfig标签提取到了app.json5中进行配置,并对部分标签名称进行了修改,具体差异见下表。
    的头像 发表于 06-27 10:01 346次阅读
    <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模型概述

    本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型
    的头像 发表于 06-26 14:40 336次阅读
    <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程序框架服务Stage模型启动FA模型PageAbility

    本小节介绍Stage模型的两种应用组件如何启动FA模型的PageAbility组件。
    的头像 发表于 06-26 09:50 361次阅读
    <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>PageAbility

    鸿蒙开发Ability Kit程序框架服务Stage模型绑定FA模型ServiceAbility

    本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。
    的头像 发表于 06-25 21:47 301次阅读
    <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'>绑定</b><b class='flag-5'>FA</b><b class='flag-5'>模型</b>ServiceAbility

    鸿蒙开发Ability Kit程序框架服务FA模型启动Stage模型UIAbility

    本文介绍FA模型的三种应用组件如何启动Stage模型的UIAbility组件。
    的头像 发表于 06-25 16:00 361次阅读
    <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>UIAbility

    鸿蒙开发Ability Kit程序框架服务FA模型访问Stage模型DataShareExtensionAbility

    无论FA模型还是Stage模型,数据读写功能都包含客户端和服务端两部分。
    的头像 发表于 06-25 14:30 385次阅读
    <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程序框架服务FA模型Stage模型应用组件互通综述

    FA模型Stage模型是两套不同的应用模型,他们拥有各自的组件。FA
    的头像 发表于 06-24 16:43 517次阅读
    <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程序框架服务)【组件启动规则(Stage模型)】

    组件启动规则(Stage模型) 启动组件是指一切启动或连接应用组件的行为: 启动UIAbility、ServiceExtensionAbility、DataShareExtensionAbility
    的头像 发表于 06-10 18:47 915次阅读
    <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>)】

    鸿蒙Ability Kit程序框架服务)【AbilityServiceExtensionAbility通信】

    本示例展示通过[IDL的方式]和 [@ohos.rpc] 等接口实现了AbilityServiceExtensionAbility之间的通信。
    的头像 发表于 06-05 09:28 482次阅读
    <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'>Ability</b>与<b class='flag-5'>ServiceExtensionAbility</b>通信】

    鸿蒙Ability Kit程序框架服务)【ServiceExtensionAbility

    [ServiceExtensionAbility]是SERVICE类型的ExtensionAbility组件,提供后台服务能力,其内部持有了一个[ServiceExtensionContext],通过[ServiceExtensionContext]提供了丰富的接口供外部
    的头像 发表于 06-04 14:50 1201次阅读
    <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'>ServiceExtensionAbility</b>】

    鸿蒙Ability Kit程序框架服务)【Ability内页面间的跳转】

    基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。
    的头像 发表于 06-03 20:43 297次阅读
    <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'>Ability</b>内页面间的跳转】

    鸿蒙应用模型:【Ability Kit】简介

    Ability Kit程序框架服务)提供了应用程序开发
    的头像 发表于 05-29 14:41 638次阅读
    <b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>模型</b>:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】简介