启动组件是指一切启动或连接应用组件的行为:
-
启动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权限(该权限仅系统应