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

组件启动规则(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.mzph.cn/web/31628.shtml

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

相关文章

常微分方程算法之编程示例一(欧拉法)

目录 一、研究问题 二、C代码 三、计算结果 一、研究问题 前面几节内容介绍了常微分方程有限差分格式的推导。为加强对本专栏知识的理解,从本节开始,我们补充一些具体算例及相应的编程。 欧拉法的原理及推导请参考: 常微分方程算法之欧拉…

go的有栈和无栈

在 Go 的 HTTP 处理中,“有栈”和“无栈”通常是指处理并发请求时的不同方式。 “有栈”的方式通常是指使用传统的基于线程或协程的并发模型,每个并发请求都有自己独立的栈空间。 例如,使用标准库中的 net/http 处理并发请求,默认…

智能虚拟集群系统在酒店楼宇中的应用

随着城市化建设的不断发展,酒店楼宇等建筑规模不断扩大、地面/地下楼层不断增加。面对日益复杂的通信环境,酒店服务和管理人员对无线通信系统的稳定性、覆盖范围、话音清晰度、应急响应能力等方面均提出了更高的需求。 需求痛点 面对繁忙的工作&#x…

Python火焰锋动力学和浅水表面波浪偏微分方程

🎯要点 🎯流图可视化正弦余弦矢量场 | 🎯解空间变化边界条件二维拉普拉斯方程 | 🎯解圆柱坐标系标量场 | 🎯解一维泊松方程 | 🎯解二维扩散方程 | 🎯解火焰锋的动力学偏微分方程 | &#x1f3a…

Mysql Server配置

MySQL服务器mysqld有许多命令选项和系统变量,可以在启动时设置这些选项和变量来配置其操作。要确定服务器使用的默认命令选项和系统变量值,请执行以下命令: $> mysqld --verbose --help 该命令生成所有mysqld选项和可配置系统变量的列表…

计算机网络 MAC地址表管理

一、理论知识 1.MAC地址表:交换机使用MAC地址表来记录各MAC地址对应的端口,用于帧转发的目的。 2.老化机制:交换机会为每一条MAC地址表项设置老化时间,老化时间到期后未收到该MAC地址报文的表项将被删除,释放资源。 …

【自动驾驶】通过下位机发送的加速度、角速度计算机器人在世界坐标系中的姿态

文章目录 原始代码全局变量定义逆平方根函数四元数解算函数理论解释四元数加速度计数据归一化计算方向余弦矩阵的第三行计算误差计算并应用积分反馈应用比例反馈积分陀螺仪数据,更新四元数归一化四元数更新姿态数据整体流程原始代码 #define SAMPLING_FREQ 20.0f // 采样频率…

适用于轨道交通专用的板卡式网管型工业以太网交换机

是网管型 CompactPCI板卡式冗余环网交换机。前面板带有6个 10/100/1000Base-T(X)M12接口。后面的CPCI接口有 8个10/100/1000Base-T (X) 以太网接口。 是特别为轨道交通行业EN50155标准要求而设计的坚固型交换机。它同时具有以下特性: ● 支持2线以太网距离扩展端口&…

LeetCode 16.最接近的三数之和(C++)

链接 https://leetcode.cn/problems/3sum-closest/description/ 题目 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 示例1 输入&a…

五十四、openlayers官网示例LineString Arrows解析——在地图上绘制箭头

官网demo地址: LineString Arrows 这篇介绍了在地图上绘制箭头。 创建一个矢量数据源,将其绑定为draw的数据源并展示在矢量图层上。 const source new VectorSource();const vector new VectorLayer({source: source,style: styleFunction,});map.ad…

真实还原汽车引擎声浪——WT2003Hx语音芯片方案

PART.01 产品市场 WT2003Hx是一款高性能的MP3音频解码芯片,具有成本效益、低功耗和高可靠性等特点,适用于多种场景,包括但不限于汽车娱乐系统、玩具、教育设备以及专业音响设备等。在模拟汽车引擎声的应用中,这一芯片的特性被特…

物联网技术里的边缘计算是什么?

物联网离不开云计算,但云计算有时会有一些问题,比如带宽不足和可能出现的高延迟,这些都给实时数据处理带来了麻烦。为了解决这个问题,现在很多公司开始关注边缘计算这个技术。 那什么是边缘计算呢?简单来说&#xff0…

NumPy2.0近期更新导致用不了

问题 A module that was compiled using NumPy 1.x cannot be run in NumPy 2.0.0 as it may crash. To support both 1.x and 2.x versions of NumPy, modules must be compiled with NumPy 2.0. Some module may need to rebuild instead e.g. with ‘pybind11>2.12’. …

关于on_listWidget_currentItemChanged问题

今天遇到了一个问题,我子界面和主界面各有一个qlistwidget,然后点击item需要执行一些业务逻辑,在测试时发现软件崩溃,通过断点发现是主界面的槽被触发了。 为什么我点击的是子界面的qlistwidget,却也触发了主界面的槽…

五十三、openlayers官网示例Layer Spy解析——跟随鼠标透视望远镜效果、图层剪裁

官网demo地址: Layer Spy 这篇实现了鼠标跟随望远镜效果,鼠标移动时绘制一个圆形的剪裁区剪裁上层图层。 container.addEventListener("mousemove", function (event) {mousePosition map.getEventPixel(event);map.render();});container.a…

28.建议和纠错

创建ByteBuf建议 特别说明: 之前创建的ByteBuffer都是: ByteBuf buffer ByteBufAllocator.DEFAULT.buffer(10); //默认获取的是直接内存 这样创建只是自己写一些测试练习使用。 真正项目开发中,还是建议在handler中的创建:在服…

【windows|009】计算机网络基础知识

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

SAP AI Copilot Joule有可能是对SAP顾问的王炸

本月初在奥兰多举行的SAP蓝宝石大会,按照惯例SAP蓝宝石大会是SAP宣传SAP最新战略和技术的大会,所以火热的AI话题是重中之重,包括请了黄仁勋来站台。刚开始我也没有太在意,认为会是一场普通的大会。对于AI,虽然很火但是…

将 Aira2 集成到 Go项目中

介绍 Aria2 简介 Aria2 是一个轻量级的、跨平台的命令行下载工具,具有强大的多连接、多协议支持,以及灵活的任务控制功能。它可以同时从 HTTP、HTTPS、FTP、BitTorrent 和磁力链接等来源下载文件,并支持断点续传,可以在下载过程…

代码评审——Java占位符%n的处理

问题描述 在软件开发项目中,特别是在处理动态内容生成与呈现至前端界面的过程中,正确运用占位符以确保文本完整性和数据准确性显得尤为重要。不当的占位符管理不仅可能导致语法错误或逻辑混乱,还会引发一系列隐蔽的问题,这些问题…