openharmony 鸿蒙 js-apis-app-ability-appManager-sys

2025-06-12 浏览 (1)

@ohos.app.ability.appManager (appManager)(系统接口)

appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。

说明:

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

当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.app.ability.appManager (appManager)

导入模块

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

appManager.PreloadMode12+

表示预加载应用进程模式的枚举。

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

系统接口:此接口为系统接口。

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

名称说明
PRESS_DOWN0按下应用图标时进行应用进程预加载。

KeepAliveAppType14+

表示被保活应用的应用类型。

系统接口:此接口为系统接口。

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

名称说明
ALL0三方应用和系统应用。此选项只能作为getKeepAliveBundles接口的入参被调用。
THIRD_PARTY1三方应用。
SYSTEM2系统应用。

KeepAliveSetter14+

表示应用保活的设置方类型。

系统接口:此接口为系统接口。

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

名称说明
SYSTEM0应用保活设置方为系统。
USER1应用保活设置方为用户。

KeepAliveBundleInfo14+

定义应用保活信息,可以通过getKeepAliveBundles获取当前应用的相关信息。

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

系统接口:此接口为系统接口。

名称类型只读可选说明
bundleNamestringBundle名称。
typeKeepAliveAppType表示被保活应用的应用类型。
setterKeepAliveSetter表示应用保活设置者类型。

appManager.isSharedBundleRunning10+

isSharedBundleRunning(bundleName: string, versionCode: number): Promise<boolean>

检查共享库是否正在使用。使用Promise异步回调。

需要权限:ohos.permission.GET_RUNNING_INFO

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

系统接口:此接口为系统接口。

参数

参数名类型必填说明
bundleNamestring表示要查询的共享库包名。
versionCodenumber表示要查询的共享库版本号。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示共享库正在使用,返回false表示共享库不在使用。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

const bundleName = "this is a bundleName";
const versionCode = 1;

appManager.isSharedBundleRunning(bundleName, versionCode).then((data) => {
  console.info(`The shared bundle running is: ${JSON.stringify(data)}`);
}).catch((error: BusinessError) => {
  console.error(`error: ${JSON.stringify(error)}`);
});

appManager.isSharedBundleRunning10+

isSharedBundleRunning(bundleName: string, versionCode: number, callback: AsyncCallback<boolean>): void

检查共享库是否正在使用。使用callback异步回调。

需要权限:ohos.permission.GET_RUNNING_INFO

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

系统接口:此接口为系统接口。

参数

参数名类型必填说明
bundleNamestring表示要查询的共享库包名。
versionCodenumber表示要查询的共享库版本号。
callbackAsyncCallback<boolean>>回调函数。返回true表示共享库正在使用,返回false表示共享库不在使用。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

const bundleName = "this is a bundleName";
const versionCode = 1;

appManager.isSharedBundleRunning(bundleName, versionCode, (err, data) => {
  if (err) {
    console.error(`err: ${JSON.stringify(err)}`);
  } else {
    console.info(`The shared bundle running is: ${JSON.stringify(data)}`);
  }
});

appManager.on('appForegroundState')11+

on(type: 'appForegroundState', observer: AppForegroundStateObserver): void

注册应用启动和退出的观测器,可用于系统应用观测所有应用的启动和退出。

系统接口:此接口为系统接口。

需要权限:ohos.permission.RUNNING_STATE_OBSERVER

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

参数:

参数名类型必填说明
typestring调用接口类型,固定填'appForegroundState'字符串。
observerAppForegroundStateObserver应用状态观测器,用于观测应用的启动和退出。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let observer: appManager.AppForegroundStateObserver = {
  onAppStateChanged(appStateData) {
    console.info(`[appManager] onAppStateChanged: ${JSON.stringify(appStateData)}`);
  },
};

try {
  appManager.on('appForegroundState', observer);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.on('abilityFirstFrameState')12+

on(type: 'abilityFirstFrameState', observer: AbilityFirstFrameStateObserver, bundleName?: string): void

注册监听Ability首帧绘制完成事件观察者对象,可用于系统应用监听Ability首帧绘制事件。

系统接口:此接口为系统接口。

需要权限:ohos.permission.RUNNING_STATE_OBSERVER

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

参数:

参数名类型必填说明
typestring调用接口类型,固定填'abilityFirstFrameState'字符串。
observerAbilityFirstFrameStateObserver表示待注册的Ability首帧绘制完成事件观察者对象。
bundleNamestring表示待监听的Ability的应用bundleName,不填表示注册监听所有应用ability首帧绘制完成事件。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let abilityFirstFrameStateObserverForAll: appManager.AbilityFirstFrameStateObserver = {
  onAbilityFirstFrameDrawn(abilityStateData: appManager.AbilityFirstFrameStateData) {
    console.info("abilityFirstFrame: ", JSON.stringify(abilityStateData));
  }
};

try {
  appManager.on('abilityFirstFrameState', abilityFirstFrameStateObserverForAll);
} catch (e) {
  let code = (e as BusinessError).code;
  let message = (e as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.off('appForegroundState')11+

off(type: 'appForegroundState', observer?: AppForegroundStateObserver): void

取消注册应用启动和退出的观测器。

系统接口:此接口为系统接口。

需要权限:ohos.permission.RUNNING_STATE_OBSERVER

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

参数:

参数名类型必填说明
typestring调用接口类型,固定填'appForegroundState'字符串。
observerAppForegroundStateObserver取消注册的应用启动和退出观测器。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let observer_: appManager.AppForegroundStateObserver|undefined;
// 1.注册应用启动和退出的监听器
let observer: appManager.AppForegroundStateObserver = {
  onAppStateChanged(appStateData: appManager.AppStateData) {
    console.info(`[appManager] onAppStateChanged: ${JSON.stringify(appStateData)}`);
  },
};

try {
  appManager.on('appForegroundState', observer);
  // 保存observer对象,用于注销
  observer_ = observer;
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

// 2.注销监听器
try {
  appManager.off('appForegroundState',  observer_);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.off('abilityFirstFrameState')12+

off(type: 'abilityFirstFrameState', observer?: AbilityFirstFrameStateObserver): void

取消注册监听Ability首帧绘制完成事件观察者对象。

系统接口:此接口为系统接口。

需要权限:ohos.permission.RUNNING_STATE_OBSERVER

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

参数:

参数名类型必填说明
typestring调用接口类型,固定填'abilityFirstFrameState'字符串。
observerAbilityFirstFrameStateObserver表示待取消的Ability首帧绘制完成事件观察者对象,不填表示取消所有监听对象。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let abilityFirstFrameStateObserverForAll: appManager.AbilityFirstFrameStateObserver = {
  onAbilityFirstFrameDrawn(abilityStateData: appManager.AbilityFirstFrameStateData) {
    console.info("abilityFirstFrame: ", JSON.stringify(abilityStateData));
  }
};

try {
  appManager.on('abilityFirstFrameState', abilityFirstFrameStateObserverForAll);
} catch (e) {
  let code = (e as BusinessError).code;
  let message = (e as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

try {
  appManager.off('abilityFirstFrameState', abilityFirstFrameStateObserverForAll);
} catch (e) {
  let code = (e as BusinessError).code;
  let message = (e as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getForegroundApplications

getForegroundApplications(callback: AsyncCallback<Array<AppStateData>>): void

获取当前所有前台应用的信息。该应用信息由AppStateData定义。

需要权限:ohos.permission.GET_RUNNING_INFO

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
callbackAsyncCallback<Array<AppStateData>>以回调方式方式返回接口运行结果及应用状态数据数组,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

function getForegroundApplicationsCallback(err: BusinessError, data: Array<appManager.AppStateData>) {
  if (err) {
    console.error(`getForegroundApplicationsCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info(`getForegroundApplicationsCallback success, data: ${JSON.stringify(data)}`);
  }
}

try {
  appManager.getForegroundApplications(getForegroundApplicationsCallback);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getForegroundApplications

getForegroundApplications(): Promise<Array<AppStateData>>

获取当前所有前台应用的信息。该应用信息由AppStateData定义。

需要权限:ohos.permission.GET_RUNNING_INFO

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

系统接口:此接口为系统接口。

返回值:

类型说明
Promise<Array<AppStateData>>返回前台进程应用程序的数组。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
16000050Internal error.

示例:

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

appManager.getForegroundApplications().then((data) => {
  console.info(`getForegroundApplications success, data: ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.error(`getForegroundApplications fail, err: ${JSON.stringify(err)}`);
});

appManager.killProcessWithAccount

killProcessWithAccount(bundleName: string, accountId: number): Promise<void>

终止account进程。使用Promise异步回调。

说明:

当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。

需要权限:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestringBundle名称。
accountIdnumber系统账号的账号ID,详情参考getOsAccountLocalId

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';
let accountId = 0;

try {
  appManager.killProcessWithAccount(bundleName, accountId).then(() => {
    console.info('killProcessWithAccount success');
  }).catch((err: BusinessError) => {
    console.error(`killProcessWithAccount fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.killProcessWithAccount14+

killProcessWithAccount(bundleName: string, accountId: number, clearPageStack: boolean, appIndex?: number): Promise<void>

终止account进程。使用Promise异步回调。

说明:

当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。

需要权限:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestringBundle名称。
accountIdnumber系统账号的账号ID,详情参考getOsAccountLocalId
clearPageStackboolean表示是否清除页面堆栈。true表示清除,false表示不清除。
appIndexnumber应用分身ID。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';
let accountId = 0;
let isClearPageStack = false;
let appIndex = 1;

try {
  appManager.killProcessWithAccount(bundleName, accountId, isClearPageStack, appIndex).then(() => {
    console.info('killProcessWithAccount success');
  }).catch((err: BusinessError) => {
    console.error(`killProcessWithAccount fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.killProcessWithAccount

killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback<void>): void

终止account进程。使用callback异步回调。

说明:

当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。

需要权限:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring应用Bundle名称。
accountIdnumber系统账号的账号ID,详情参考getOsAccountLocalId
callbackAsyncCallback<void>以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';
let accountId = 0;

function killProcessWithAccountCallback(err: BusinessError) {
  if (err) {
    console.error(`killProcessWithAccountCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info('killProcessWithAccountCallback success.');
  }
}

appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);

appManager.killProcessesByBundleName

killProcessesByBundleName(bundleName: string, callback: AsyncCallback<void>)

通过Bundle名称终止进程。

需要权限:ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。
callbackAsyncCallback<void>以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';

function killProcessesByBundleNameCallback(err: BusinessError) {
  if (err) {
    console.error(`killProcessesByBundleNameCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info('killProcessesByBundleNameCallback success.');
  }
}

try {
  appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.killProcessesByBundleName

killProcessesByBundleName(bundleName: string): Promise<void>

通过Bundle名称终止进程。

需要权限:ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';

try {
  appManager.killProcessesByBundleName(bundleName).then((data) => {
    console.info('killProcessesByBundleName success.');
  }).catch((err: BusinessError) => {
    console.error(`killProcessesByBundleName fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.clearUpApplicationData

clearUpApplicationData(bundleName: string, callback: AsyncCallback<void>)

通过Bundle名称清除应用数据。

需要权限:ohos.permission.CLEAN_APPLICATION_DATA

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestringBundle名称。
callbackAsyncCallback<void>以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';

function clearUpApplicationDataCallback(err: BusinessError) {
  if (err) {
    console.error(`clearUpApplicationDataCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info('clearUpApplicationDataCallback success.');
  }
}

try {
  appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.clearUpApplicationData

clearUpApplicationData(bundleName: string): Promise<void>

通过Bundle名称清除应用数据。

需要权限:ohos.permission.CLEAN_APPLICATION_DATA

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。

返回值:

类型说明
Promise<void>以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = 'bundleName';

try {
  appManager.clearUpApplicationData(bundleName).then((data) => {
    console.info('clearUpApplicationData success.');
  }).catch((err: BusinessError) => {
    console.error(`clearUpApplicationData fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getProcessMemoryByPid10+

getProcessMemoryByPid(pid: number, callback: AsyncCallback<number>): void

通过pid查询对应进程占用的内存大小。

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
pidnumber表示进程id,详情参考getRunningProcessInfoByBundleName
callbackAsyncCallback<number>以回调方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let pid = 0;
function getProcessMemoryByPidCallback(err: BusinessError, data: number) {
  if (err) {
    console.error(`getProcessMemoryByPidCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info('getProcessMemoryByPidCallback success.');
  }
}

try {
  appManager.getProcessMemoryByPid(pid, getProcessMemoryByPidCallback);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getProcessMemoryByPid10+

getProcessMemoryByPid(pid: number): Promise<number>

通过pid查询对应进程占用的内存大小。

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
pidnumber表示进程id,详情参考getRunningProcessInfoByBundleName

返回值:

类型说明
Promise<number>以Promise方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let pid = 0;

try {
  appManager.getProcessMemoryByPid(pid).then((data) => {
    console.info('getProcessMemoryByPid success.');
  }).catch((err: BusinessError) => {
    console.error(`getProcessMemoryByPid fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getRunningProcessInfoByBundleName10+

getRunningProcessInfoByBundleName(bundleName: string, callback: AsyncCallback<Array<ProcessInformation>>): void

通过bundleName获取有关运行进程的信息。

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。
callbackAsyncCallback<Array<ProcessInformation>>以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = "bundleName";
function getRunningProcessInfoByBundleNameCallback(err: BusinessError, data: Array<appManager.ProcessInformation>) {
  if (err) {
    console.error(`getRunningProcessInfoByBundleNameCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info('getRunningProcessInfoByBundleNameCallback success.');
  }
}

try {
  appManager.getRunningProcessInfoByBundleName(bundleName, getRunningProcessInfoByBundleNameCallback);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getRunningProcessInfoByBundleName10+

getRunningProcessInfoByBundleName(bundleName: string): Promise<Array<ProcessInformation>>

通过bundleName获取有关运行进程的信息。

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = "bundleName";

try {
  appManager.getRunningProcessInfoByBundleName(bundleName).then((data) => {
    console.info('getRunningProcessInfoByBundleName success.');
  }).catch((err: BusinessError) => {
    console.error(`getRunningProcessInfoByBundleName fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getRunningProcessInfoByBundleName10+

getRunningProcessInfoByBundleName(bundleName: string, userId: number, callback: AsyncCallback<Array<ProcessInformation>>): void

通过bundleName和userId获取有关运行进程的信息。

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。
userIdnumber表示用户Id。
callbackAsyncCallback<Array<ProcessInformation>>以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = "bundleName";
let userId = 0;
function getRunningProcessInfoByBundleNameCallback(err: BusinessError, data: Array<appManager.ProcessInformation>) {
  if (err) {
    console.error(`getRunningProcessInfoByBundleNameCallback fail, err: ${JSON.stringify(err)}`);
  } else {
    console.info('getRunningProcessInfoByBundleNameCallback success.');
  }
}

try {
  appManager.getRunningProcessInfoByBundleName(bundleName, userId, getRunningProcessInfoByBundleNameCallback);
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.getRunningProcessInfoByBundleName10+

getRunningProcessInfoByBundleName(bundleName: string, userId: number): Promise<Array<ProcessInformation>>

通过bundleName和userId获取有关运行进程的信息。

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。
userIdnumber表示用户Id。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = "bundleName";
let userId = 0;

try {
  appManager.getRunningProcessInfoByBundleName(bundleName, userId).then((data) => {
    console.info('getRunningProcessInfoByBundleName success.');
  }).catch((err: BusinessError) => {
    console.error(`getRunningProcessInfoByBundleName fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.isApplicationRunning11+

isApplicationRunning(bundleName: string): Promise<boolean>

查询单个应用是否正在运行。使用Promise异步回调。

系统接口:此接口为系统接口。

需要权限:ohos.permission.GET_RUNNING_INFO

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

参数

参数名类型必填说明
bundleNamestring表示要查询的应用的包名。

返回值:

类型说明
Promise<boolean>Promise对象。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = "com.example.myapplication";

appManager.isApplicationRunning(bundleName).then((data) => {
  console.info(`The application running is: ${JSON.stringify(data)}`);
}).catch((error: BusinessError) => {
  console.error(`error: ${JSON.stringify(error)}`);
});

appManager.isApplicationRunning11+

isApplicationRunning(bundleName: string, callback: AsyncCallback<boolean>): void

查询单个应用是否正在运行。使用callback异步回调。

系统接口:此接口为系统接口。

需要权限:ohos.permission.GET_RUNNING_INFO

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

参数

参数名类型必填说明
bundleNamestring表示要查询的共享库包名。
callbackAsyncCallback<boolean>回调函数。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

let bundleName = "com.example.myapplication";

try {
  appManager.isApplicationRunning(bundleName, (err, data) => {
    if (err) {
      console.error(`err: ${JSON.stringify(err)}`);
    } else {
      console.info(`The application running is: ${JSON.stringify(data)}`);
    }
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

ApplicationState

应用状态,该类型为枚举,可配合AbilityStateData返回相应的应用状态。

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

系统接口:此接口为系统接口。

名称说明
STATE_CREATE0应用处于创建状态。
STATE_FOREGROUND2应用处于前台状态。
STATE_ACTIVE3应用处于获焦状态。
STATE_BACKGROUND4应用处于后台不可见状态。
STATE_DESTROY5应用处于销毁状态。

appManager.getRunningProcessInformationByBundleType12+

getRunningProcessInformationByBundleType(bundleType: bundleManager.BundleType): Promise<Array<ProcessInformation>>

根据包类型获取当前运行进程的有关信息。使用Promise异步回调。

系统接口:此接口为系统接口。

需要权限:ohos.permission.GET_RUNNING_INFO

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

参数

参数名类型必填说明
bundleTypebundleManager.BundleType表示要查询的包类型。

返回值:

类型说明
Promise<Array<ProcessInformation>>Promise对象,返回特定包类型的运行进程的信息。

错误码: 以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

import { appManager, bundleManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
  appManager.getRunningProcessInformationByBundleType(bundleManager.BundleType.ATOMIC_SERVICE)
    .then((data) => {
      console.info(`The running process information is: ${JSON.stringify(data)}`);
    }).catch((error: BusinessError) => {
    console.error(`error: ${JSON.stringify(error)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.preloadApplication12+

preloadApplication(bundleName: string, userId: number, mode: PreloadMode, appIndex?: number): Promise<void>

预加载应用进程。接口返回成功并不代表预加载成功,具体结果以目标应用进程是否创建成功为准。使用Promise异步回调。

需要权限:ohos.permission.PRELOAD_APPLICATION

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

系统接口:此接口为系统接口。

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

参数:

参数名类型必填说明
bundleNamestring预加载的应用包名。
userIdnumber预加载的用户Id。
modePreloadMode预加载模式。
appIndexnumber预加载应用分身的appIndex。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201The application does not have permission to call the interface.
202Not system application.
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.
16000050Internal error.
16300005The target bundle does not exist.

示例:

import { appManager } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

try {
  let bundleName = "ohos.samples.etsclock";
  let userId = 100;
  let mode = appManager.PreloadMode.PRESS_DOWN;
  let appIndex = 0;
  appManager.preloadApplication(bundleName, userId, mode, appIndex)
    .then(() => {
      hilog.info(0x0000, 'testTag', `preloadApplication success`);
    })
    .catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', `preloadApplication error, code: ${err.code}, msg:${err.message}`);
    })
} catch (err) {
  hilog.error(0x0000, 'testTag', `preloadApplication error, code: ${(err as BusinessError).code}, msg:${(err as BusinessError).message}`);
}

appManager.getRunningMultiAppInfo12+

getRunningMultiAppInfo(bundleName: string): Promise<RunningMultiAppInfo>

根据应用包名获取系统中运行态的应用多开(即在一个设备上运行多个相同的应用)的相关信息,使用Promise异步回调。

需要权限:ohos.permission.GET_RUNNING_INFO

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

系统接口:此接口为系统接口。

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

参数:

参数名类型必填说明
bundleNamestring查询的应用包名。

返回值:

类型说明
Promise<RunningMultiAppInfo>Promise对象。返回特定包名的运行态应用多开信息。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201The application does not have permission to call the interface.
202Not system application.
401Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.
16000072App clone or multi-instance is not supported.
18500001The bundle does not exist or no patch has been applied.

示例:

import { appManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
  let bundleName = "ohos.samples.etsclock";
  appManager.getRunningMultiAppInfo(bundleName).then((info: appManager.RunningMultiAppInfo) => {
      hilog.info(0x0000, 'testTag', `getRunningMultiAppInfo success`);
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', `getRunningMultiAppInfo error, code: ${err.code}, msg:${err.message}`);
    })
} catch (err) {
  hilog.error(0x0000, 'testTag', `getRunningMultiAppInfo error, code: ${err.code}, msg:${err.message}`);
}

appManager.terminateMission13+

terminateMission(missionId: number): Promise<void>

关闭指定的任务。使用Promise异步回调。

需要权限:ohos.permission.KILL_APP_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
missionIdnumber任务ID,可通过getMissionInfos获取。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.

示例:

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

@Entry
@Component
struct Index {
  build() {
    Button('start link', { type: ButtonType.Capsule, stateEffect: true })
      .width('87%')
      .height('5%')
      .margin({ bottom: '12vp' })
      .onClick(() => {
        let missionId: number = 0;
        try {
          appManager.terminateMission(missionId).then(()=>{
              console.info('terminateMission success.');
            }).catch((err: BusinessError)=>{
              console.error('terminateMission failed. err: ' + JSON.stringify(err));
            })
        } catch (paramError) {
          let code = (paramError as BusinessError).code;
          let message = (paramError as BusinessError).message;
          console.error(`[appManager] error: ${code}, ${message}`);
        }
      })
  }
}

appManager.getSupportedProcessCachePids14+

getSupportedProcessCachePids(bundleName : string): Promise<Array<number>>

查询当前应用中支持缓存后快速启动的进程PID。

说明:

本接口仅支持获取调用者所在系统账号下的进程PID。

需要权限:ohos.permission.GET_RUNNING_INFO

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

系统接口:此接口为系统接口。

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

参数:

参数名类型必填说明
bundleNamestring表示要查询的应用包名。

返回值:

类型说明
Promise<Array<number>>Promise对象。返回一个数组,包含当前应用中支持缓存后快速启动的所有进程PID。

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
801Capability not supported.
16000050Internal error.

示例:

import { appManager } from '@kit.AbilityKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { BusinessError } from '@kit.BasicServicesKit';

try {
  let bundleName = "ohos.samples.processcache";
  appManager.getSupportedProcessCachePids(bundleName).then((pids: Array<number>) => {
      hilog.info(0x0000, 'testTag', `pids: ${JSON.stringify(pids)}`);
    }).catch((err: BusinessError) => {
      hilog.error(0x0000, 'testTag', `get pids error, code: ${err.code}, msg:${err.message}`);
    })
} catch (err) {
  hilog.error(0x0000, 'testTag', `get pids error, code: ${err.code}, msg:${err.message}`);
}

appManager.clearUpAppData13+

clearUpAppData(bundleName: string, appCloneIndex?: number): Promise<void>

根据Bundle名称和应用分身索引,清除指定应用的数据。

需要权限:ohos.permission.CLEAN_APPLICATION_DATA

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示Bundle名称。
appCloneIndexnumber表示应用分身索引。

返回值:

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

错误码

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
16000050Internal error.
16000073The app clone index is invalid.

示例:

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

let bundleName: string = 'com.ohos.demo';
let appCloneIndex: number = 0;

try {
  appManager.clearUpAppData(bundleName, appCloneIndex).then(() => {
    console.info(`clearUpAppData success.`);
  }).catch((err: BusinessError) => {
    console.error(`clearUpAppData fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] error: ${code}, ${message}`);
}

appManager.setKeepAliveForBundle14+

setKeepAliveForBundle(bundleName: string, userId: number, enable: boolean): Promise<void>

为指定用户下的应用设置或取消保活。使用Promise异步回调。本接口当前仅支持2in1设备。

需要权限:ohos.permission.MANAGE_APP_KEEP_ALIVE

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
bundleNamestring表示要设置保活的应用包名。
userIdnumber表示要设置保活应用所属的用户ID。
enableboolean表示对应用保活或者取消保活。true表示对应用保活,false表示对应用取消保活。

返回值:

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

错误码:

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
801Capability not supported.
16000050Internal error.
16300005The target bundle does not exist.
16300008The target bundle has no MainAbility.
16300009The target bundle has no status-bar ability.
16300010The target application is not attached to the status bar.

示例:

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

try {
  let bundleName = "ohos.samples.keepaliveapp";
  let userId = 100;
  appManager.setKeepAliveForBundle(bundleName, userId, true).then(() => {
    console.info(`setKeepAliveForBundle success`);
  }).catch((err: BusinessError) => {
    console.error(`setKeepAliveForBundle fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] setKeepAliveForBundle error: ${code}, ${message}`);
}

appManager.getKeepAliveBundles14+

getKeepAliveBundles(type: KeepAliveAppType, userId?: number): Promise<Array<KeepAliveBundleInfo>>

获取指定用户下指定类型的保活应用信息。该应用信息由KeepAliveBundleInfo定义。 使用Promise异步回调。本接口当前仅支持2in1设备。

需要权限:ohos.permission.MANAGE_APP_KEEP_ALIVE

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
typeKeepAliveAppType表示要查询的保活应用类型。
userIdnumber表示要设置保活应用所属的用户ID。

返回值:

类型说明
Promise<Array<KeepAliveBundleInfo>>Promise对象,返回用户保活应用信息的数组。

错误码:

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
801Capability not supported.
16000050Internal error.

示例:

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

let userId = 100;
let type: appManager.KeepAliveAppType = appManager.KeepAliveAppType.THIRD_PARTY;
try {
  appManager.getKeepAliveBundles(type, userId).then((data) => {
    console.info(`getKeepAliveBundles success, data: ${JSON.stringify(data)}`);
  }).catch((err: BusinessError) => {
    console.error(`getKeepAliveBundles fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] getKeepAliveBundles error: ${code}, ${message}`);
}

appManager.killProcessesInBatch14+

killProcessesInBatch(pids: Array<number>): Promise<void>

批量查杀进程。本接口当前仅支持2in1设备。

需要权限:ohos.permission.KILL_APP_PROCESSES

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

系统接口:此接口为系统接口。

参数:

参数名类型必填说明
pidsArray<number>要查杀的进程ID。

返回值:

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

错误码:

以下错误码详细介绍请参考通用错误码元能力子系统错误码

错误码ID错误信息
201Permission denied.
202Not System App. Interface caller is not a system app.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
801Capability not supported.
16000050Internal error.

示例:

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

try {
  let pids: Array<number> = [100, 101, 102];
  appManager.killProcessesInBatch(pids).then(() => {
    console.info(`killProcessesInBatch success`);
  }).catch((err: BusinessError) => {
    console.error(`killProcessesInBatch fail, err: ${JSON.stringify(err)}`);
  });
} catch (paramError) {
  let code = (paramError as BusinessError).code;
  let message = (paramError as BusinessError).message;
  console.error(`[appManager] killProcessesInBatch error: ${code}, ${message}`);
}

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Ability Kit(程序框架服务)

harmony 鸿蒙AbilityBase

harmony 鸿蒙AbilityBase_Element

harmony 鸿蒙AbilityRuntime

harmony 鸿蒙bundle

harmony 鸿蒙OH_NativeBundle_ApplicationInfo

harmony 鸿蒙OH_NativeBundle_ElementName

harmony 鸿蒙ability_base_common.h

harmony 鸿蒙ability_runtime_common.h

harmony 鸿蒙application_context.h

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/VDxqcA