鸿蒙5.0开发进阶:ArkTS API-ApplicationContext

往期鸿蒙全套实战文章必看:(文中附带全栈鸿蒙学习资料)


ApplicationContext

ApplicationContext模块继承自Context,提供开发者应用级别的的上下文的能力,包括提供注册及取消注册应用内组件生命周期的监听接口。

说明

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

本模块接口仅可在Stage模型下使用。

导入模块

import { common } from '@kit.AbilityKit';

使用说明

在使用ApplicationContext的功能前,需要通过context的实例获取。

ApplicationContext.on('abilityLifecycle')

on(type: 'abilityLifecycle', callback: AbilityLifecycleCallback): number

注册监听应用内生命周期。使用callback异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'abilityLifecycle'监听事件的类型。
callbackAbilityLifecycleCallback回调方法,返回注册监听事件的ID。

返回值:

类型说明
number返回的此次注册监听生命周期的ID(每次注册该ID会自增+1,当超过监听上限数量2^63-1时,返回-1)。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility, AbilityLifecycleCallback } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let lifecycleId: number;

export default class EntryAbility extends UIAbility {
onCreate() {
console.log('MyAbility onCreate');
let AbilityLifecycleCallback: AbilityLifecycleCallback = {
onAbilityCreate(ability) {
console.log(`AbilityLifecycleCallback onAbilityCreate ability: ${ability}`);
},
onWindowStageCreate(ability, windowStage) {
console.log(`AbilityLifecycleCallback onWindowStageCreate ability: ${ability}`);
console.log(`AbilityLifecycleCallback onWindowStageCreate windowStage: ${windowStage}`);
},
onWindowStageActive(ability, windowStage) {
console.log(`AbilityLifecycleCallback onWindowStageActive ability: ${ability}`);
console.log(`AbilityLifecycleCallback onWindowStageActive windowStage: ${windowStage}`);
},
onWindowStageInactive(ability, windowStage) {
console.log(`AbilityLifecycleCallback onWindowStageInactive ability: ${ability}`);
console.log(`AbilityLifecycleCallback onWindowStageInactive windowStage: ${windowStage}`);
},
onWindowStageDestroy(ability, windowStage) {
console.log(`AbilityLifecycleCallback onWindowStageDestroy ability: ${ability}`);
console.log(`AbilityLifecycleCallback onWindowStageDestroy windowStage: ${windowStage}`);
},
onAbilityDestroy(ability) {
console.log(`AbilityLifecycleCallback onAbilityDestroy ability: ${ability}`);
},
onAbilityForeground(ability) {
console.log(`AbilityLifecycleCallback onAbilityForeground ability: ${ability}`);
},
onAbilityBackground(ability) {
console.log(`AbilityLifecycleCallback onAbilityBackground ability: ${ability}`);
},
onAbilityContinue(ability) {
console.log(`AbilityLifecycleCallback onAbilityContinue ability: ${ability}`);
}
}
// 1.通过context属性获取applicationContext
let applicationContext = this.context.getApplicationContext();
try {
// 2.通过applicationContext注册监听应用内生命周期
lifecycleId = applicationContext.on('abilityLifecycle', AbilityLifecycleCallback);
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
console.log(`registerAbilityLifecycleCallback lifecycleId: ${lifecycleId}`);
}
}

ApplicationContext.off('abilityLifecycle')

off(type: 'abilityLifecycle', callbackId: number, callback: AsyncCallback<void>): void

取消监听应用内生命周期。使用callback异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'abilityLifecycle'取消监听事件的类型。
callbackIdnumber注册监听应用内生命周期的ID。
callbackAsyncCallback<void>回调方法。当取消监听应用内生命周期成功,err为undefined,否则为错误对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let lifecycleId: number;

export default class EntryAbility extends UIAbility {
onDestroy() {
let applicationContext = this.context.getApplicationContext();
console.log(`stage applicationContext: ${applicationContext}`);
try {
applicationContext.off('abilityLifecycle', lifecycleId, (error, data) => {
if (error) {
console.error(`unregisterAbilityLifecycleCallback fail, err: ${JSON.stringify(error)}`);
} else {
console.log(`unregisterAbilityLifecycleCallback success, data: ${JSON.stringify(data)}`);
}
});
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
}
}

ApplicationContext.off('abilityLifecycle')

off(type: 'abilityLifecycle', callbackId: number): Promise<void>

取消监听应用内生命周期。使用Promise异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'abilityLifecycle'取消监听事件的类型。
callbackIdnumber注册监听应用内生命周期的ID。

返回值:

类型说明
Promise<void>Promise对象。无返回结果的Promise对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let lifecycleId: number;

export default class MyAbility extends UIAbility {
onDestroy() {
let applicationContext = this.context.getApplicationContext();
console.log(`stage applicationContext: ${applicationContext}`);
try {
applicationContext.off('abilityLifecycle', lifecycleId);
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
}
}

ApplicationContext.on('environment')

on(type: 'environment', callback: EnvironmentCallback): number

注册对系统环境变化的监听。使用callback异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'environment'监听事件的类型。
callbackEnvironmentCallback回调方法,提供应用上下文ApplicationContext对系统环境变量监听回调的能力。

返回值:

类型说明
number返回的此次注册监听系统环境变化的ID(每次注册该ID会自增+1,当超过监听上限数量2^63-1时,返回-1)。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility, EnvironmentCallback } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let callbackId: number;

export default class EntryAbility extends UIAbility {
  onCreate() {
    console.log('MyAbility onCreate')
    let environmentCallback: EnvironmentCallback = {
      onConfigurationUpdated(config) {
        console.log(`onConfigurationUpdated config: ${JSON.stringify(config)}`);
      },
      onMemoryLevel(level) {
        console.log(`onMemoryLevel level: ${level}`);
      }
    };
    // 1.获取applicationContext
    let applicationContext = this.context.getApplicationContext();
    try {
      // 2.通过applicationContext注册监听系统环境变化
      callbackId = applicationContext.on('environment', environmentCallback);
    } catch (paramError) {
      console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
    }
    console.log(`registerEnvironmentCallback callbackId: ${callbackId}`);
  }
}

ApplicationContext.off('environment')

off(type: 'environment', callbackId: number, callback: AsyncCallback<void>): void

取消对系统环境变化的监听。使用callback异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'environment'取消监听事件的类型。
callbackIdnumber注册监听系统环境变化的ID。
callbackAsyncCallback<void>回调方法。当取消对系统环境变化的监听成功,err为undefined,否则为错误对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let callbackId: number;

export default class EntryAbility extends UIAbility {
onDestroy() {
let applicationContext = this.context.getApplicationContext();
try {
applicationContext.off('environment', callbackId, (error, data) => {
if (error) {
console.error(`unregisterEnvironmentCallback fail, err: ${JSON.stringify(error)}`);
} else {
console.log(`unregisterEnvironmentCallback success, data: ${JSON.stringify(data)}`);
}
});
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
}
}

ApplicationContext.off('environment')

off(type: 'environment', callbackId: number): Promise<void>

取消对系统环境变化的监听。使用Promise异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'environment'取消监听事件的类型。
callbackIdnumber注册监听系统环境变化的ID。

返回值:

类型说明
Promise<void>Promise对象。无返回结果的Promise对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let callbackId: number;

export default class MyAbility extends UIAbility {
onDestroy() {
let applicationContext = this.context.getApplicationContext();
try {
applicationContext.off('environment', callbackId);
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
}
}

ApplicationContext.on('applicationStateChange')10+

on(type: 'applicationStateChange', callback: ApplicationStateChangeCallback): void

注册对当前应用前后台变化的监听。使用callback异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'applicationStateChange'监听事件类型。
callbackApplicationStateChangeCallback回调函数。可以对应用从后台切换到前台,以及前台切换到后台分别定义回调。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility, ApplicationStateChangeCallback } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

export default class MyAbility extends UIAbility {
  onCreate() {
    console.log('MyAbility onCreate');
    let applicationStateChangeCallback: ApplicationStateChangeCallback = {
      onApplicationForeground() {
        console.info('applicationStateChangeCallback onApplicationForeground');
      },
      onApplicationBackground() {
        console.info('applicationStateChangeCallback onApplicationBackground');
      }
    }

    // 1.获取applicationContext
    let applicationContext = this.context.getApplicationContext();
    try {
      // 2.通过applicationContext注册应用前后台状态监听
      applicationContext.on('applicationStateChange', applicationStateChangeCallback);
    } catch (paramError) {
      console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
    }
    console.log('Resgiter applicationStateChangeCallback');
  }
}

ApplicationContext.off('applicationStateChange')10+

off(type: 'applicationStateChange', callback?: ApplicationStateChangeCallback): void

取消当前应用注册的前后台变化的全部监听。使用callback异步回调。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
type'applicationStateChange'取消监听事件的类型。
callbackApplicationStateChangeCallback回调函数。可以对应用从后台切换到前台,以及前台切换到后台分别定义回调。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.

示例:

import { UIAbility } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

export default class MyAbility extends UIAbility {
onDestroy() {
let applicationContext = this.context.getApplicationContext();
try {
applicationContext.off('applicationStateChange');
} catch (paramError) {
console.error(`error: ${(paramError as BusinessError).code}, ${(paramError as BusinessError).message}`);
}
}
}

ApplicationContext.getRunningProcessInformation

getRunningProcessInformation(): Promise<Array<ProcessInformation>>

获取有关运行进程的信息。使用Promise异步回调。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型说明
Promise<Array<ProcessInformation>>Promise对象,返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.
16000050Internal error.

示例:

import { BusinessError } from '@kit.BasicServicesKit';

export default class MyAbility extends UIAbility {
onForeground() {
let applicationContext = this.context.getApplicationContext();
applicationContext.getRunningProcessInformation().then((data) => {
console.log(`The process running information is: ${JSON.stringify(data)}`);
}).catch((error: BusinessError) => {
console.error(`error: ${JSON.stringify(error)}`);
});
}
}

ApplicationContext.getRunningProcessInformation

getRunningProcessInformation(callback: AsyncCallback<Array<ProcessInformation>>): void

获取有关运行进程的信息。使用callback异步回调。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
callbackAsyncCallback<Array<ProcessInformation>>回调函数,返回有关运行进程的信息。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.
16000050Internal error.

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
onForeground() {
let applicationContext = this.context.getApplicationContext();
applicationContext.getRunningProcessInformation((err, data) => {
if (err) {
console.error(`getRunningProcessInformation faile, err: ${JSON.stringify(err)}`);
} else {
console.log(`The process running information is: ${JSON.stringify(data)}`);
}
})
}
}

ApplicationContext.killAllProcesses

killAllProcesses(): Promise<void>

终止应用的所有进程,进程退出时不会正常走完应用生命周期。使用Promise异步回调。仅支持主线程调用。

说明

该接口用于应用异常场景中强制退出应用。如需正常退出应用,可以使用terminateSelf()接口。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型说明
Promise<void>Promise对象。无返回结果的Promise对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
onBackground() {
let applicationContext = this.context.getApplicationContext();
applicationContext.killAllProcesses();
}
}

ApplicationContext.killAllProcesses

killAllProcesses(callback: AsyncCallback<void>)

终止应用的所有进程,进程退出时不会正常走完应用生命周期。使用callback异步回调。仅支持主线程调用。

说明

该接口用于应用异常场景中强制退出应用。如需正常退出应用,可以使用terminateSelf()接口。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
callbackAsyncCallback<void>回调函数。当杀死应用所在的进程成功,err为undefined,否则为错误对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
  onBackground() {
    let applicationContext = this.context.getApplicationContext();
    applicationContext.killAllProcesses(error => {
      if (error) {
        console.error(`killAllProcesses fail, error: ${JSON.stringify(error)}`);
      }
    });
  }
}

ApplicationContext.setColorMode11+

setColorMode(colorMode: ConfigurationConstant.ColorMode): void

设置应用的颜色模式。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
colorModeConfigurationConstant.ColorMode设置颜色模式,包括:深色模式、浅色模式、不设置(跟随系统)。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.

示例:

import { UIAbility, ConfigurationConstant } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
  onCreate() {
    let applicationContext = this.context.getApplicationContext();
    applicationContext.setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_DARK);
  }
}

ApplicationContext.setLanguage11+

setLanguage(language: string): void

设置应用的语言。仅支持主线程调用。

元服务API: 从API version 11开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
languagestring设置语言,当前支持的语言列表可以通过getSystemLanguages()获取。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
  onCreate() {
    let applicationContext = this.context.getApplicationContext();
    applicationContext.setLanguage('zh-cn');
  }
}

ApplicationContext.clearUpApplicationData11+

clearUpApplicationData(): Promise<void>

清理应用本身的数据,同时撤销应用向用户申请的权限。使用Promise异步回调。仅支持主线程调用。

说明

该接口会停止应用进程,应用进程停止后,后续的所有回调都不会再触发。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型说明
Promise<void>Promise对象。无返回结果的Promise对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
16000011The context does not exist.
16000050Internal error.

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
onBackground() {
let applicationContext = this.context.getApplicationContext();
applicationContext.clearUpApplicationData();
}
}

ApplicationContext.clearUpApplicationData11+

clearUpApplicationData(callback: AsyncCallback<void>): void

清理应用本身的数据,同时撤销应用向用户申请的权限。使用callback异步回调。仅支持主线程调用。

说明

该接口会停止应用进程,应用进程停止后,后续的所有回调都不会再触发。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
callbackAsyncCallback<void>回调方法。清理应用本身的数据成功时,error为undefined,否则返回错误对象。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.
16000050Internal error.

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
onBackground() {
let applicationContext = this.context.getApplicationContext();
applicationContext.clearUpApplicationData(error => {
if (error) {
console.error(`clearUpApplicationData fail, error: ${JSON.stringify(error)}`);
}
});
}
}

ApplicationContext.restartApp12+

restartApp(want: Want): void

应用重启并拉起自身指定UIAbility。重启时不会收到onDestroy回调。仅支持主线程调用,且待重启的应用需要处于获焦状态。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
wantWantWant类型参数,传入需要启动的UIAbility的信息,Bundle名称不做校验。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000063The target to restart does not belong to the current app or is not a UIAbility.
16000064Restart too frequently. Try again at least 10s later.

示例:

import { UIAbility, Want } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
onForeground() {
let applicationContext = this.context.getApplicationContext();
let want: Want = {
bundleName: 'com.example.myapp',
abilityName: 'EntryAbility'
};
try {
applicationContext.restartApp(want);
} catch (error) {
console.error(`restartApp fail, error: ${JSON.stringify(error)}`);
}
}
}

ApplicationContext.getCurrentAppCloneIndex12+

getCurrentAppCloneIndex(): number

获取当前应用的分身索引。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型说明
number当前应用的分身索引。

错误码

错误码ID错误信息
16000011The context does not exist.
16000071The MultiAppMode is not {@link APP_CLONE}.

以上错误码详细介绍。

示例:

import { UIAbility } from '@kit.AbilityKit';

export default class MyAbility extends UIAbility {
  onBackground() {
    let applicationContext = this.context.getApplicationContext();
    try {
      let appCloneIndex = applicationContext.getCurrentAppCloneIndex();
    } catch (error) {
      console.error(`getCurrentAppCloneIndex fail, error: ${JSON.stringify(error)}`);
    }
  }
}

ApplicationContext.setFont12+

setFont(font: string): void

设置应用的字体类型。仅支持主线程调用。

说明

当页面窗口创建完成后,才能调用该接口,即需要在onWindowStageCreate()生命周期之后调用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
fontstring设置字体类型,字体可以通过font.registerFont方法进行注册使用。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
16000011The context does not exist.
16000050Internal error.

示例:

import { font } from '@kit.ArkUI';

@Entry
@Component
struct Index {
@State message: string = 'Hello World'

aboutToAppear() {
font.registerFont({
familyName: 'fontName',
familySrc: $rawfile('font/medium.ttf')
})

getContext().getApplicationContext().setFont("fontName");
}

build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(50)
}
.width('100%')
}
.height('100%')
}
}

ApplicationContext.setSupportedProcessCache12+

setSupportedProcessCache(isSupported : boolean): void

应用设置自身是否支持缓存后快速启动。仅支持主线程调用。

说明

  • 该接口仅表示应用自身是否为缓存后快速启动做好了准备,还需综合其他条件来判断最终是否为应用启用快速启动。
  • 该接口设置的缓存支持状态对单个应用进程实例生效,不同进程实例互不影响。应用进程实例销毁后,已设置的状态不保留,可以重新设置。

模型约束:此接口仅可在Stage模型下使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
isSupportedboolean表示应用是否支持缓存后快速启动。true表示支持,false表示不支持。

错误码

以下错误码详细介绍。

错误码ID错误信息
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types.
801Capability not supported.
16000011The context does not exist.
16000050Internal error.

示例:

import { UIAbility, Want, AbilityConstant } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

export default class MyAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
let applicationContext = this.context.getApplicationContext();
try {
applicationContext.setSupportedProcessCache(true);
} catch (error) {
let code = (error as BusinessError).code;
let message = (error as BusinessError).message;
console.error(`setSupportedProcessCache fail, code: ${code}, msg: ${message}`);
}
}
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值