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.......

相关推荐
贾伟康9 小时前
【HarmonyOS 7新能力|008】互动卡片入门实战:从能力边界到最小可运行链路
harmonyos·arkts·arkui·harmonyos 7·互动卡片
●VON9 小时前
Flutter 鸿蒙插件适配实战:用 clipboard_watcher 0.3.0 监听剪贴板变化
flutter·华为·harmonyos
昇腾知识体系11 小时前
CANN 安装升级避坑:version.cfg 查版本、银河麒麟找不到驱动、nnrt --version 无输出排查
人工智能·华为·知识图谱
贾伟康11 小时前
【HarmonyOS 7新能力|005】沉浸光感入门实战:从能力边界到最小可运行链路
harmonyos·arkts·arkui·harmonyos 7·交互动效
心态还需努力呀17 小时前
把 Flameshot 编译进鸿蒙 PC:一次 Qt C++ 截图工具的源码级移植实战
c++·qt·harmonyos
心态还需努力呀18 小时前
把 Zettlr 搬上鸿蒙 PC:一次 Electron 应用移植实战
华为·electron·harmonyos
OH_TPC18 小时前
HarmonyOS APP开发---“心动卡“社交匹配App,需要用到这个库
华为·harmonyos·鸿蒙
●VON18 小时前
Flutter 鸿蒙插件适配实战:用 is_lock_screen 2.0.0 判断真实锁屏状态
flutter·华为·harmonyos
Sunny_G18 小时前
鸿蒙 Markdown 编辑器表格所见即所得:七个版本的渲染重构(CodeMirror Decoration 实战)
ai编程·harmonyos