@ohos.app.appstartup.StartupConfigEntry (启动框架配置)
本模块提供应用启动框架配置的能力。
说明:
本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。
导入模块
import { StartupConfigEntry } from '@kit.AbilityKit';
StartupConfigEntry
onConfig
onConfig?(): StartupConfig
在回调AbilityStage.onCreate前,若该AbilityStage对应的HAP中启动框架配置文件中定义了启动框架配置,则会触发该回调。
开发者可以在该回调中设置启动框架配置信息,详细使用方法可参考设置启动参数章节。
系统能力:SystemCapability.Ability.AppStartup
返回值:
| 类型 | 说明 |
|---|---|
| StartupConfig | 启动框架配置信息。 |
示例:
import { StartupConfig, StartupConfigEntry, StartupListener } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
export default class MyStartupConfigEntry extends StartupConfigEntry {
onConfig() {
hilog.info(0x0000, 'testTag', `onConfig`);
let onCompletedCallback = (error: BusinessError<void>) => {
hilog.info(0x0000, 'testTag', `onCompletedCallback`);
if (error) {
hilog.info(0x0000, 'testTag', 'onCompletedCallback: %{public}d, message: %{public}s', error.code,
error.message);
} else {
hilog.info(0x0000, 'testTag', `onCompletedCallback: success.`);
}
}
let startupListener: StartupListener = {
'onCompleted': onCompletedCallback
}
let config: StartupConfig = {
'timeoutMs': 10000,
'startupListener': startupListener
}
return config;
}
}
onRequestCustomMatchRule20+
onRequestCustomMatchRule(want: Want): string
在回调AbilityStage.onCreate前,若该AbilityStage对应的HAP中启动框架配置文件中定义了启动框架配置,则会在StartupConfigEntry.onConfig后触发该回调。
开发者可以在该回调中,可以根据调用方传入启动UIAbility的Want中的不同参数来返回不同的自定义匹配规则。启动框架会将其与启动任务配置的matchRules中customization字段进行匹配。若匹配成功,任务将在自动模式执行。详细匹配规则请参考添加任务匹配规则章节。
该接口通常用于无法直接通过uri、action或意图名称规则来匹配启动任务的场景,可以使用本接口对匹配规则进一步细化。
系统能力:SystemCapability.Ability.AppStartup
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| want | Want | 是 | 启动UIAbility的Want信息。 |
返回值:
| 类型 | 说明 |
|---|---|
| string | 返回自定义匹配规则值,用于匹配启动任务是否自动执行。 |
示例:
import { StartupConfigEntry, Want } from '@kit.AbilityKit';
export default class MyStartupConfigEntry extends StartupConfigEntry {
// ...
onRequestCustomMatchRule(want: Want): string {
if (want?.parameters?.customParam == 'param1') {
return 'customRule1';
}
return '';
}
}