HarmonyOS 鸿蒙组件启动规则(Stage模型)

组件启动规则(Stage模型)

启动组件是指一切启动或连接应用组件的行为:

  • 启动UIAbility、ServiceExtensionAbility、DataShareExtensionAbility,如使用startAbility()、startServiceExtensionAbility()、startAbilityByCall()等相关接口。

  • 连接ServiceExtensionAbility、DataShareExtensionAbility,如使用connectServiceExtensionAbility()、createDataShareHelper()等相关接口。

在OpenHarmony中,为了保证用户具有更好的使用体验,对以下几种易影响用户体验与系统安全的行为做了限制:

  • 后台应用任意弹框,如各种广告弹窗,影响用户使用。

  • 后台应用相互唤醒,不合理的占用系统资源,导致系统功耗增加或系统卡顿。

  • 前台应用任意跳转至其他应用,如随意跳转到其他应用的支付页面,存在安全风险。

鉴于此,OpenHarmony制订了一套组件启动规则,主要包括:

  • 跨应用启动组件,需校验目标组件Visible

    • 若目标组件exported字段配置为false,则需校验ohos.permission.START_INVISIBLE_ABILITY权限
    • 组件exported配置参考
  • 位于后台的UIAbility应用,启动组件需校验BACKGROUND权限

    • 应用前后台判断标准:若应用进程获焦或所属的UIAbility位于前台则判定为前台应用,否则为后台应用
    • 需校验ohos.permission.START_ABILITIES_FROM_BACKGROUND权限
  • 使用startAbilityByCall接口,需校验CALL权限(使用方式参考:Call调用开发指南(同设备),Call调用开发指南(跨设备)

    • 需校验ohos.permission.ABILITY_BACKGROUND_COMMUNICATION权限

说明

  1. 组件启动管控自OpenHarmony v3.2 Release版本开始落地。
    2.与原本的启动规则不同,新的组件启动规则较为严格,开发者需熟知启动规则,避免业务功能异常。

启动组件的具体校验流程见下文。

同设备组件启动规则

设备内启动组件,不同场景下的规则不同,可分为如下两种场景:

  • 启动UIAbility。
  • 启动ServiceExtensionAbility、DataShareExtensionAbility。
  • 通过startAbilityByCall接口启动UIAbility。

分布式跨设备组件启动规则

跨设备启动组件,不同场景下的规则不同,可分为如下两种场景:

  • 启动UIAbility。
  • 启动ServiceExtensionAbility、DataShareExtensionAbility。
  • 通过startAbilityByCall接口启动UIAbility。

为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术,这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙 (OpenHarmony)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. ......

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门?:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ......

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ......

基于ArkTS 开发:https://qr21.cn/FV7h05

1.Ability开发

2.UI开发

3.公共事件与通知

4.窗口管理

5.媒体

6.安全

7.网络与链接

8.电话服务

9.数据管理

10.后台任务(Background Task)管理

11.设备管理

12.设备使用信息统计

13.DFX

14.国际化开发

15.折叠屏系列

16.......

相关推荐
卡奥斯开源社区官方12 分钟前
鸿蒙智行 L3 内测启幕:从技术架构到商用落地的全链路技术拆
华为·架构·harmonyos
搬砖的kk42 分钟前
Flutter UUID 鸿蒙平台适配实践 - 全版本测试与验证
flutter·华为·harmonyos
梧桐ty1 小时前
硬件交互联动:基于鸿蒙的Flutter物联网应用开发实战
flutter·华为·harmonyos
鸿蒙小白龙2 小时前
鸿蒙UniProton操作系统编译开发指导
harmonyos·鸿蒙系统·openharmony·uniproton
萌虎不虎2 小时前
【鸿蒙根据图片路径读取图片的base64数据】
华为·harmonyos
庄雨山2 小时前
Flutter模块化开发实战:跨端视角下与开源鸿蒙开发的异同及融合思路
flutter·openharmony
梧桐ty4 小时前
鸿蒙生态下的跨平台框架选型指南:Flutter vs React Native vs uni-app
flutter·华为·harmonyos
码力码力我爱你4 小时前
HarmonyOS DevEco Studio的使用练习题
华为·harmonyos
Neolnfra4 小时前
华为中小型企业网络建设
网络·华为·毕业设计·ensp代做
晚风(●•σ )5 小时前
【华为 ICT & HCIA & eNSP 习题汇总】——题目集26
网络·计算机网络·华为