ServiceAbility切换
FA模型中的ServiceAbility对应Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility为系统API,只有系统应用才可以创建。因此,FA模型的ServiceAbility的切换,对于系统应用和三方应用策略有所不同。下面分别介绍这两种场景。
系统应用ServiceAbility切换
目前系统提供了ServiceExtensionAbility供系统应用使用。切换步骤和PageAbility基本一致。
- 在Stage应用中[创建ServiceExtensionAbility]。
- 将FA应用中ServiceAbility的业务代码迁移到新创建的ServiceExtensionAbility中。 ServiceAbility和ServiceExtensionAbility生命周期对比见下表。
- 开发前请熟悉鸿蒙开发指导文档 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]FA的ServiceAbility Stage的ServiceExtensionAbility 对比描述 onStart(): void onCreate(want: Want): void 两者调用时机一致,Stage模型下增加了入参want以便开发者在创建时获取参数。 onCommand(want: Want, startId: number): void onRequest(want: Want, startId: number): void 两者意义和调用时机一致,参数也一致。 onConnect(want: Want): rpc.RemoteObject onConnect(want: Want): rpc.RemoteObject 两者意义和调用时机一致,参数也一致。 onDisconnect(want: Want): void onDisconnect(want: Want): void 两者意义和调用时机一致,参数也一致。 onReconnect(want: Want): void onReconnect(want: Want): void 两者意义和调用时机一致,参数也一致。 onStop(): void onDestroy(): void 两者意义和调用时机一致,参数也一致。
三方应用ServiceAbility切换
Stage模型下三方应用不能对其他三方提供服务,应用可以根据具体业务选择切换方案。
业务类型 | 切换策略 |
---|---|
对其他三方应用提供服务 | 需根据业务场景匹配到系统对应的场景化[ExtensionAbility]。 |
应用内:前台运行时公共使用 | 可以将该组件代码抽取成公共模块供其他组件使用。 |
应用内:进入后台时继续运行 | 可以将此服务切换为[后台任务]。 |
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
框架
+关注
关注
0文章
403浏览量
17487 -
组件
+关注
关注
1文章
512浏览量
17826 -
鸿蒙
+关注
关注
57文章
2352浏览量
42856
发布评论请先 登录
相关推荐
OpenHarmony开发之Ability架构
管理,从而实现对用户程序的调度。Ability框架在API 8及更早版本使用FA模型。FA模型中Ability分为PageAbility、Servi
发表于 05-12 15:12
HarmonyOS/OpenHarmony应用开发ServiceAbility开发体验
,即使用户切换到其他应用,Service仍将在后台继续运行。接口说明开发体验:注册Service示例效果:示例代码:https://gitee.com/jltfcloudcn/jump_to/tree
发表于 12-09 10:40
鸿蒙Ability Kit(程序框架服务)【ExtensionAbility组件】
ExtensionAbility组件是基于特定场景(例如服务卡片、输入法等)提供的应用组件,以便满足更多的使用场景。
鸿蒙Ability Kit(程序框架服务)【应用启动框架AppStartup】
`AppStartup`提供了一种更加简单高效的初始化组件的方式,支持异步初始化组件加速应用的启动时间。使用启动框架应用开发者只需要分别为待初始化的
鸿蒙开发组件:ServiceAbility组件概述与配置
ServiceAbility,即"基于Service模板的Ability",主要用于后台运行任务(如执行音乐播放、文件下载等),不提供用户交互界面。ServiceAbility
鸿蒙开发Ability Kit程序框架服务:FA模型与Stage模型应用组件互通综述
FA模型与Stage模型是两套不同的应用模型,他们拥有各自的组件。FA模型提供三种应用组件,分别是PageAbility、ServiceAbility和DataAbility。Stage模型提供了两种应用
鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型指导 app和deviceConfig的切换
为了便于开发者维护应用级别的属性配置,Stage模型将config.json中的app和deviceConfig标签提取到了app.json5中进行配置,并对部分标签名称进行了修改,具体差异见下表。
鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型指导 module的切换
从FA模型切换到Stage模型时,开发者需要将config.json文件module标签下的配置迁移到module.json5配置文件module标签下,具体差异见下列表格。
鸿蒙开发Ability Kit程序框架服务:PageAbility切换 组件切换
FA模型中PageAbility对应Stage模型中的UIAbility,PageAbility切换为UIAbility的方法如下。
鸿蒙开发Ability Kit程序框架服务:API切换概述 API切换
FA模型和Stage模型由于线程模型和进程模型的差异,部分接口仅在FA模型下才能使用,针对这部分接口在SDK的接口中有FAModelOnly的标记,用于提醒开发者这部分接口仅能在FA模型下
评论