鸿蒙开发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]。
应用内:前台运行时公共使用可以将该组件代码抽取成公共模块供其他组件使用。
应用内:进入后台时继续运行可以将此服务切换为[后台任务]。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

喜讯!恒瑞医药荣获2023年度国家科技进步奖

6月24日,2023年度国家科学技术奖在京公布,恒瑞医药参与、由山东第一医科大学附属肿瘤医院牵头的“肺癌放疗联合分子靶向和免疫治疗的关键机制与临床应用”项目荣获国家科学技术进步二等奖。这是公司继2016年度、2017年度获奖之后第3次获得国家科技进步奖…

ONLYOFFICE8.1新版本桌面编辑器测评

什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器,支持编辑处理文本文档、电子表格、演示文稿、可填写的表单、PDF,可多人在线协作,支持 AI 集成。 该套件可在 Windows、Linux、Android 和 iOS上使用,包括网页…

二级web基础操作题练习

---------要求--------- 利用HTML和CSS实现如图所示页面: ---------代码示例--------- 分析:该页面包含一个标题、一个副标题、“姓名信息”的表格,并且有一段文字提示用户仔细填写,使用内联CSS来控制HTML页面的视觉外观&…

bable 【实用教程】

简介 bable 用于将 ES6 的语法编译为 ES5 只关心语法,不关心 API 是否正确。不处理模块化(webpack 会处理) 搭建开发环境 安装相关的包 npm i babel/cli babel/core babel/preset-env新建文件 .babelrc,内容为 { "presets…

策略模式和状态模式

策略模式 在上下文中携带策略接口作为成员变量,在使用上下文之前需要设置策略setStrategy(),然后使用策略接口成员变量来进行策略的执行。 步骤1:定义策略接口 // 策略接口 public interface Strategy {int execut…

酒店民宿预订小程序:高效管理,便捷入住

目前,我国旅游业发展非常旺盛,同时也带动了酒店民宿的快速发展。随着互联网科技的快速发展,酒店民宿小程序层出不穷。一个高效的小程序目前已经成为了各大服务业中必不可少的环节,对于酒店民宿商家来说,线上小程序不仅…

Day.js

Day.js 是什么? Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间。 Day.js中文网 为什么要使用Day.js ? 因为Day.js文件只有2KB左右,下载、解析和执行的JavaScript更少,为代码留下更…

2024/5/9【贪心5/5】--代码随想录算法训练营day36|56. 合并区间、738.单调递增的数字、968.监控二叉树 (可跳过)

56. 合并区间 力扣链接 class Solution:def merge(self, intervals):result []if len(intervals) 0:return result # 区间集合为空直接返回intervals.sort(keylambda x: x[0]) # 按照区间的左边界进行排序result.append(intervals[0]) # 第一个区间可以直接放入结果集中…

Java 树形结构数据如何高效返回给前端进行展示?

在开发过程中我们总是遇到一些具有层次结构的数据,这些数据在前端也总是需要以树形结构进行显示,那么后端接口如何高效的去将这些数据封装成树形结构呢?下面来进行解析讲解。 最终实现的一个结果图 设计返回的实体VO import com.fasterxm…

58.鸿蒙系统app(HarmonyOS)(ArkUI)更改应用程序图标

替换xx\MyApplication4.30\entry\src\main\resources\base\media目录下icon.png文件 54.HarmonyOS鸿蒙系统 App(ArkTS)tcp socket套接字网络连接收发测试_鸿蒙socket连接测试-CSDN博客

windows远程桌面你会了吗?

1、当你发现正常连接无法连接时? 试试以管理员身份连接 mstsc /admin /v:IP 2、当本机与远程桌面分辨率不一致时? 指定分辨率连接,如1920*1080 mstsc /w:1920 /h:1080 /v:IP 适应本机分辨率连接 mstsc /span /v:IP 3、当远程连接的端口不是3389…

【设计模式-04】原型模式

【设计模式-04】原型模式 1. 概述2. 结构3. 实现4. 案例5. 使用场景6. 优缺点6.1 原型模式的优点6.2 原型模式的缺点 7. 实现深克隆(深拷贝) 1. 概述 原型模式: 用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。 2. 结构 原型…

VSCode常用的一些插件

Chinese (Simplified) 汉语(简体)拓展包。 Auto Close Tag 可以自动增加xml/html的闭合标签。 CodeSnap 截图神器。截图效果在下面。 Dracula Official vscode一个很好看的主题。 Git Graph git管理工具。 GitHub Repositories 有了它,不…

基于Vue+ElementUI框架实现学生管理系统前端页面设计

目录 一. 最终效果展示 二. 详细教程 1. 创建项目 2. 下载组件 3. 在main.js中配置 4. 创建项目中的组件(页面) 登录组件 Login.vue 系统主页组件 Main.vue 学生管理组件 StudentList.vue 专业管理组件 MajorList.vue 5. 在index.js中配置组件路由 6. 添加画布 三…

【PyQt5】一文向您详细介绍 QVBoxLayout() 的作用

【PyQt5】一文向您详细介绍 QVBoxLayout() 的作用 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&a…

算法金 | 没有思考过 Embedding,不足以谈 AI

大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 在当今的人工智能(AI)领域,Embedding 是一个不可或缺的概念。如果你没有…

第六篇:精通Docker Compose:打造高效的多容器应用环境

精通Docker Compose:打造高效的多容器应用环境 1. 引言 1.1 目的与重要性 在现代软件开发中,随着应用程序的复杂性不断增加,传统的单一容器部署方式已无法满足需求。Docker Compose作为一种强大的工具,专门用于定义和运行多容器…

用户中心项目全流程

企业做项目流程 需求分析 > 设计(概要设计 、 详细设计) > 技术选型 >初始化项目 / 引入需要的技术 > 写个小demo > 写代码 (实现业务逻辑) > 测试(单元测试)> 代码提交 / 代码评审 …

【C++:list】

list概念 list是一个带头的双向循环链表,双向循环链表的特色:每一个节点拥有两 个指针进行维护,俩指针分别为prev和next,prev指该节点的前一个节点,next为该节点的后一个节点 list的底层实现中为什么对迭代器单独写一个结构体进行…

Toco x Databend:Databend Cloud 如何满足 Web3 大数据服务的严苛考验?

Toco 是一家位于瑞士的 Web3 服务提供商,致力于通过彻底改变全球金融体系的陈旧观念来应对气候变化。他们提供了一种开创性的碳货币 Tocos,每个流通中的 Tocos 代表一吨二氧化碳当量,存储在安全可靠的数字钱包中。用户可以使用 Tocos 应用轻松…