鸿蒙开发:【组件启动规则(FA模型)】

news2025/1/19 16:21:36

组件启动规则(FA模型)

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

  • 启动PageAbility、ServiceAbility,如使用startAbility()等相关接口。
  • 连接ServiceAbility、DataAbility,如使用connectAbility()、acquireDataAbilityHelper()等相关接口。

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

  • 后台应用任意弹框,如各种广告弹窗,影响用户使用。
  • 后台应用相互唤醒,不合理的占用系统资源,导致系统功耗增加或系统卡顿。
  • 前台应用任意跳转至其他应用,如随意跳转到其他应用的支付页面,存在安全风险。

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

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

    • 只针对跨应用场景。
    • 若目标组件visible字段配置为false,则需校验ohos.permission.START_INVISIBLE_ABILITY权限(该权限仅系统应用可申请)。
    • [组件visible配置参考]。
  • 位于后台的应用,启动组件需校验BACKGROUND权限

说明:  基于API 8或更早版本SDK开发的应用在启动ServiceAbility组件或DataAbility组件时不受此限制的约束。

  • 应用前后台判断标准:若应用进程获焦或所属的UIAbility位于前台则判定为前台应用,否则为后台应用。

  • 需校验ohos.permission.START_ABILITIES_FROM_BACKGROUND权限(该权限仅系统应用可申请)。

  • 跨应用启动FA模型的ServiceAbility组件或DataAbility组件,对端应用需配置关联启动

    • 只针对跨应用场景。
    • 只针对目标组件为ServiceAbility与DataAbility生效。
    • 目标应用的AssociateWakeUp为true,其提供的ServiceAbility与DataAbility才允许被其他应用访问。
    • 只有系统预置应用才允许配置AssociateWakeUp字段,其余应用AssociateWakeUp默认为false

说明:

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

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

同设备组件启动规则

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

  • 启动PageAbility。
  • 启动ServiceAbility或DataAbility。

startup-rule

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

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

  • 启动PageAbility。
  • 启动ServiceAbility。

component-startup-rules

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL之复制(八)

复制 复制和容量规划 备库什么时候开始延迟 一个关于备库比较普遍的问题是如何预测备库会在何时跟不上主库。很难去描述备库使用的复制容量为5%与95%的区别,但是至少能够在接近饱和前预警并估计复制容量。首先应该古纳差复制延迟的尖刺。如果有复制延迟的曲线图&…

如何将现有系统逐步优化成微服务设计

目录 基础服务改造核心步骤准备阶段实施阶段 基础服务设计 本文诞生于学习架构实践专栏后的深思以及总结,结合公司之前“大泥球”的架构风格,改造服务设计的思维。 改造公司系统服务主要原因:1、代码类似“屎山”,牵一发而动全身&…

Freertos-----任务之间的消息传递(使用消息队列信号量方法)

这次来分享任务之间的数据传递的方法,方法有很多种,我展示2种,让大家对freertos有更深刻的印象 目录 消息队列 信号量 消息队列 首先直接打开普中的例程,然后在里面加上ADC的驱动代码,先初始化外设先,我…

亚足联官方公布18强赛抽签时间及规则,国足确认位列第五档,你们觉得国足能进世界杯吗?

亚足联官方公布18强赛抽签时间及规则,国足确认位列第五档,你们觉得国足能进世界杯吗? 今天亚足联官方宣布了世预赛18强赛分组抽签仪式时间,本次抽签仪式将于6月27日15点在马来西亚吉隆坡举行。除了抽签时间之外,足联还…

L55--- 257.二叉树的所有路径(深搜)---Java版

1.题目描述 2.思路 (1)因为是求二叉树的所有路径 (2)然后是带固定格式的 所以我们要把每个节点的整数数值换成字符串数值 (3)首先先考虑根节点,也就是要满足节点不为空 返回递归的形式dfs(根节…

Service方法增加@Asyn注解后导致bean无法找到 NoSuchBeanDefinitionException

Service方法增加Asyn注解后导致bean无法找到 NoSuchBeanDefinitionException 场景处理方法原因 场景 首先确认的是Service添加了Service或Component等注解,另外也增加了ComponentScan确定扫描的包路径是包含对应Service的,但就是无法找到这个bean。 通…

C51与MDK共存版本安装教程

目录 一、安装准备 1.1 新建文件夹 1.2 网盘链接-加Q 667198390 二、 双版本共存安装教程 2.1 安装Keil5 C51 2.2 安装Keil5 MDK 2.3 C51和MDK的共存 2.4 生成许可证 2.5 安装STM32Pack包 一、安装准备 1.1 新建文件夹 如下图: 在合适的网盘里&#xff08…

阿里云如何实现express的自动化部署(保姆级教程)

本篇文章将详细介绍一下阿里云如何实现express的自动化部署,作者本人总结的保姆级教程!!! 首先去阿里云官网 (阿里云-计算,为了无法计算的价值) 搜索函数计算fc 如果没有开通过选择免费开通,…

计算机组成原理 | 计算机系统概述

CPI:(Clockcycle Per Instruction),指每条指令的时钟周期数。 时钟周期:对CPU来说,在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟周期 是一个时钟脉冲所…

【第24章】Vue实战篇之用户信息展示

文章目录 前言一、准备1. 获取用户信息2. 存储用户信息3. 加载用户信息 二、用户信息1.昵称2.头像 三、展示总结 前言 这里我们来展示用户昵称和头像。 一、准备 1. 获取用户信息 export const userInfoService ()>{return request.get(/user/info) }2. 存储用户信息 i…

服装连锁实体店bC一体化运营方案

一、引言 随着互联网的快速发展和消费者购物习惯的变化,传统服装连锁实体店在面对新的市场环境下亟需转型升级。BC(Business to Consumer)一体化运营方案的实施将成为提升服装连锁实体店竞争力和顾客体验的关键举掖。商淘云详细介绍服装连锁…

深度学习论文: Depth Anything V2

深度学习论文: Depth Anything V2 Depth Anything V2 PDF: https://arxiv.org/pdf/2406.09414v1 代码:https://depth-anything-v2.github.io/ PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks …

黑神话悟空-吉吉国王版本【抢先版】

在中国的游戏市场中,一款名为“黑神话悟空”的游戏引起了广泛的关注。这款游戏以中国传统的神话故事“西游记”为背景,创造了一个令人震撼的虚拟世界。今天,我们要来介绍的是这款游戏的一种特殊版本,那就是吉吉国王版本。 在吉吉国…

Go微服务: redis分布式锁在集群中可能遇到的问题及其解决方案

概述 我们的 redis 一般都是集群来给我们程序提供服务的,单体的redis现在也不多见 看到上面是主节点redis和下面是6个重节点redis,主节点和重节点的通讯都是畅通没问题的这个时候,我们有 gorouting 写我们的数据,那它就会用到我们…

《沃趣 分手后霸道少爷宠爆我》盛大开机典礼

南京五聚文化传媒有限公司自豪地宣布,引人入胜的2024年度短剧巨作——《沃趣 分手后霸道少爷宠爆我》——今日正式开拍!在星辰下的华丽舞台上,我们汇集了业界的精英力量,准备讲述一个关于爱、错位与重生的故事。 典礼精彩亮点 1.…

openh264 宏块级码率控制源码分析

openh264 宏块级码率控制函数关系 宏块级核心函数分析 WelsRcMbInitGom函数 功能:openh264 码率控制框架中宏块级码率控制函数,根据是否启用GOM QP来决定如何设置宏块的QP值,以控制编码的质量和比特率。原理过程: 函数参数&…

高效管理:好用的项目管理工具推荐

在当今快速变化的商业环境中,高效的项目管理工具能够显著提升团队的生产力和项目的成功率,还能有效地跟踪项目进度。所以,一款优秀的项目管理工具首先要具备先进的项目管理理念,支持多种研发管理和项目管理方法论,才能…

“打造智能售货机系统,基于ruoyi微服务版本生成基础代码“

目录 # 开篇 1. 菜单 2. 字典配置 3. 表配置 3.1 导入表 3.2 区域管理 3.3 合作商管理 3.4 点位管理 4. 代码导入 4.1 后端代码生成 4.2 前端代码生成 5. 数据库代码执行 6. 点位管理菜单顺序修改 7. 页面展示 8. 附加设备表 8.1 新增设备管理菜单 8.2 创建字…

高效处理大数据:Kafka的13个核心概念详解

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是你们的小米!今天我们来深入探讨一下Kafka这个强大而复杂的数据流平台。Kafka被广泛应用于高吞吐量、低延迟的数据流应用场景中。那么,我…

wordpress站群搭建3api代码生成和swagger使用

海鸥技术下午茶-wordpress站群搭建3api代码生成和swagger使用 目标:实现api编写和swagger使用 0.本次需要使用到的脚手架命令 生成 http server 代码 goctl api go -api all.api -dir ..生成swagger文档 goctl api plugin -plugin goctl-swagger"swagger -filename st…