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

ServiceAbility切换

FA模型中的ServiceAbility对应Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility为系统API,只有系统应用才可以创建。因此,FA模型的ServiceAbility的切换,对于系统应用和三方应用策略有所不同。下面分别介绍这两种场景。

系统应用ServiceAbility切换

目前系统提供了ServiceExtensionAbility供系统应用使用。切换步骤和PageAbility基本一致。

  1. 在Stage应用中[创建ServiceExtensionAbility]。

  2. 将FA应用中ServiceAbility的业务代码迁移到新创建的ServiceExtensionAbility中。 ServiceAbility和ServiceExtensionAbility生命周期对比见下表。

    FA的ServiceAbilityStage的ServiceExtensionAbility对比描述
    onStart(): voidonCreate(want: Want): void两者调用时机一致,Stage模型下增加了入参want以便开发者在创建时获取参数。
    onCommand(want: Want, startId: number): voidonRequest(want: Want, startId: number): void两者意义和调用时机一致,参数也一致。
    onConnect(want: Want): rpc.RemoteObjectonConnect(want: Want): rpc.RemoteObject两者意义和调用时机一致,参数也一致。
    onDisconnect(want: Want): voidonDisconnect(want: Want): void两者意义和调用时机一致,参数也一致。
    onReconnect(want: Want): voidonReconnect(want: Want): void两者意义和调用时机一致,参数也一致。
    onStop(): voidonDestroy(): void两者意义和调用时机一致,参数也一致。

在这里插入图片描述

三方应用ServiceAbility切换

Stage模型下三方应用不能对其他三方提供服务,应用可以根据具体业务选择切换方案。

业务类型切换策略
对其他三方应用提供服务需根据业务场景匹配到系统对应的场景化[ExtensionAbility]。
应用内:前台运行时公共使用可以将该组件代码抽取成公共模块供其他组件使用。
应用内:进入后台时继续运行可以将此服务切换为[后台任务]。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/362769.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

4A的「A」会变成AI的「A」吗?

戛纳国际创意节上,广告集团WPP的全球CEO Mark Read 和英国CEO Karen Blackett 解释了WPP如何应对AIGC所带来的「威胁」。同时,Mark Read 与Elon Musk对话,讨论「技术创新的变革力量,人工智能如何重塑创造力、商业和社会&#xff0…

Duix - 硅基数字人SDK

简介 Introduction DUIX(Dialogue User Interface System)是硅基智能打造的AI数字人智能交互平台。通过将数字人交互能力开源,开发者可自行接入多方大模型、语音识别(ASR)、语音合成(TTS)能力,实现数字人实时交互,并在Android和iOS多终端一键部署,让每个开发者可轻松…

基于长短时记忆网络LSTM的TE过程故障诊断(MATLAB R2021B)

实验所用 TE 仿真过程的数据集是网上公开的数据集,该数据集中的训练集和测试集分别包含 20 种故障工况和一种正常工况数据,其中所采集的每个样本信号包含 41 个测量变量和 11 个控制变量,所以每个时刻采集到的样本有 52 个观测变量。 TE 仿真…

IO流

文件 什么是文件 文件流 常用的文件操作 创建文件对象相关构造器和方法 public class FileCreate {public static void main(String[] args) {}//方式 1 new File(String pathname)//根据路径构建一个File对象Testpublic void create01() {String filePath "e:\\news1.…

TMGM:ASIC撤销禁令,TMGM强化合规、重启差价合约服务

TMGM作为差价合约(CFDs)与保证金外汇交易领域的领航者,安全、合规、高效被奉为我集团的终身使命。澳大利亚证券和投资委员会(ASIC)已正式撤销了早前针对TMGM差价合约业务实施的临时止损令。这一误会的解除,…

使用North自部署图床服务

图床 图床可以把图片转为链接,从而方便我们书写、分享博客,目前图床主要分为以下几类: 利用 Git 仓库存储对象存储(OSS、COS、七牛云等)免费公共图床(SM.MS、聚合图床、ImgTP、Postimage等) 但上述图床都…

Zabbix 监控系统部署

Zabbix 监控系统部署 Zabbix是一个企业级开源分布式监控解决方案,可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的运行状况和完整性。 Zabbix 使用灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许…

Excel 宏录制与VBA编程 —— 12、文本字符串类型相关(转换、拆分、分割、连接、替换、查找、“Like“)

字符串分割,文末示例(文末代码3附有源码) 代码1 - 基础字符串 代码2 - 字符串拆分 代码3 - 字符串分割 Option ExplicitSub WorkbooksClear()Dim DataRange As RangeSet DataRange Range("C2:E12")DataRange.Clear End SubSub Wo…

活动|华院计算受邀参加2024全球人工智能技术大会(GAITC),探讨法律大模型如何赋能社会治理

6月22至23日,备受瞩目的2024全球人工智能技术大会(GAITC)在杭州市余杭区未来科技城隆重举行。本届大会以“交叉、融合、相生、共赢”为主题,集“会、展、赛”为一体,聚“产、学、研”于一堂。值得一提的是,…

C#——命名空间详情

命名空间 在 C# 中,可以将命名空间看作是一个范围,用来标注命名空间中成员的归属,一个命名空间中类与另一个命名空间中同名的类互不冲突,但在同一个命名空间中类的名称必须是唯一的。 定义命名空间 定义命名空间需要使用 namesp…

【设计模式】行为型-策略模式

策略模式,如春风吹过,随心所欲,变幻无穷,每一丝风都是一种选择。 文章目录 一、订单处理二、策略模式三、策略模式的核心组成四、运用策略模式五、策略模式的应用场景六、小结推荐阅读 一、订单处理 场景假设:有一个…

容器技术-docker5 (1)

一、docker-compose 常用命令和指令 1. 概要 默认的模板文件是 docker-compose.yml,其中定义的每个服务可以通过 image 指令指定镜像或 build 指令(需要 Dockerfile)来自动构建。 注意如果使用 build 指令,在 Dockerfile 中设置…

vscode刷LeetCode算法题环境配置

首先,下载nodejs 在vscode中安装LeetCode插件 安装好进行配置 选择leetcode-cn 填上刚才下载node.exe的路径 完成之后重启一下vscode 重启之后登陆LeetCode 完成之后就可以看到题目了 点击 code now 就可以开始刷题了

ueditor解决无法抓取远程背景图片问题的方法(php)

背景 laravel后台经常有用到编辑器的地方,Dcat使用的一般都是UEditor编辑器。最近项目经理在秀米排版以后,将内容复制到UEditor编辑器保存后发现, 在网站页面中发现图片竟然展示失败。经过浏览器控制台发现,图片的域名还是秀米的…

Arathi Basin (AB) PVP15

Arathi Basin (AB) PVP15 阿拉希盆地,PVP,15人战场

【手撕代码】握手机制

文章目录 为什么要握手握手信号无非3种可能 怎样实现握手案例一:数据反压 参考链接 为什么要握手 跨时钟域处理: 握手信号法其实也用到了脉冲展宽的方法,只是展宽信号的变化条件不同。因为如果不对脉冲进行展宽,慢速时钟域的时钟…

生产者发送数据,kafka服务器接收数据异常的问题记录

现象: 某个客户要求审计日志用kafka的方式传输给他们,使用了第三方的librdkafka库来开发。 往客户提供的kafka服务器上的一个topic发送数据,这个topic有三个分区,客户反馈接收到的数据和发送端发送的实际数量对不上,他…

一款开源、免费、现代化风格的WPF UI控件库

前言 今天大姚给大家分享一款开源(MIT License)、免费、现代化风格的WPF UI控件库:ModernWpf。 项目介绍 ModernWpf是一个开源项目,它为 WPF 提供了一组现代化的控件和主题,使开发人员能够创建具有现代外观的桌面应…

Java——IDEA使用

一、IDEA介绍 IntelliJ IDEA 是 JetBrains 公司开发的一款功能强大的集成开发环境(IDE),主要用于 Java 编程语言,但也支持多种其他语言和框架。由于其强大的功能和灵活性,IntelliJ IDEA 被广泛应用于软件开发领域&…

2、Redis持久化与高可用架构

一、Redis 持久化 RDB 快照(Snapshot) 基本概念:RDB(Redis DataBase)快照是将 Redis 内存中的数据在某个时间点保存到磁盘中的一种持久化方式,默认保存到 dump.rdb 的二进制文件中。通过 RDB 快照&#xff…