harmony 鸿蒙@ohos.app.ability.appManager (appManager)(系统接口)
@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_DOWN | 0 | 按下应用图标时进行应用进程预加载。 |
KeepAliveAppType14+
表示被保活应用的应用类型。
系统接口:此接口为系统接口。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
名称 | 值 | 说明 |
---|---|---|
ALL | 0 | 三方应用和系统应用。此选项只能作为getKeepAliveBundles接口的入参被调用。 |
THIRD_PARTY | 1 | 三方应用。 |
SYSTEM | 2 | 系统应用。 |
KeepAliveSetter14+
表示应用保活的设置方类型。
系统接口:此接口为系统接口。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
名称 | 值 | 说明 |
---|---|---|
SYSTEM | 0 | 应用保活设置方为系统。 |
USER | 1 | 应用保活设置方为用户。 |
KeepAliveBundleInfo14+
定义应用保活信息,可以通过getKeepAliveBundles获取当前应用的相关信息。
系统能力:SystemCapability.Ability.AbilityRuntime.Core
系统接口:此接口为系统接口。
名称 | 类型 | 只读 | 可选 | 说明 |
---|---|---|---|---|
bundleName | string | 否 | 否 | Bundle名称。 |
type | KeepAliveAppType | 否 | 否 | 表示被保活应用的应用类型。 |
setter | KeepAliveSetter | 否 | 否 | 表示应用保活设置者类型。 |
appManager.isSharedBundleRunning10+
isSharedBundleRunning(bundleName: string, versionCode: number): Promise<boolean>
检查共享库是否正在使用。使用Promise异步回调。
需要权限:ohos.permission.GET_RUNNING_INFO
系统能力:SystemCapability.Ability.AbilityRuntime.Core
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示要查询的共享库包名。 |
versionCode | number | 是 | 表示要查询的共享库版本号。 |
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | Promise对象。返回true表示共享库正在使用,返回false表示共享库不在使用。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示要查询的共享库包名。 |
versionCode | number | 是 | 表示要查询的共享库版本号。 |
callback | AsyncCallback<boolean>> | 是 | 回调函数。返回true表示共享库正在使用,返回false表示共享库不在使用。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 调用接口类型,固定填’appForegroundState’字符串。 |
observer | AppForegroundStateObserver | 是 | 应用状态观测器,用于观测应用的启动和退出。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 调用接口类型,固定填’abilityFirstFrameState’字符串。 |
observer | AbilityFirstFrameStateObserver | 是 | 表示待注册的Ability首帧绘制完成事件观察者对象。 |
bundleName | string | 否 | 表示待监听的Ability的应用bundleName,不填表示注册监听所有应用ability首帧绘制完成事件。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 调用接口类型,固定填’appForegroundState’字符串。 |
observer | AppForegroundStateObserver | 否 | 取消注册的应用启动和退出观测器。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 调用接口类型,固定填’abilityFirstFrameState’字符串。 |
observer | AbilityFirstFrameStateObserver | 否 | 表示待取消的Ability首帧绘制完成事件观察者对象,不填表示取消所有监听对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<Array<AppStateData>> | 是 | 以回调方式方式返回接口运行结果及应用状态数据数组,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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 | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | Bundle名称。 |
accountId | number | 是 | 系统账号的账号ID,详情参考getOsAccountLocalId。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | Bundle名称。 |
accountId | number | 是 | 系统账号的账号ID,详情参考getOsAccountLocalId。 |
clearPageStack | boolean | 是 | 表示是否清除页面堆栈。true表示清除,false表示不清除。 |
appIndex | number | 否 | 应用分身ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 应用Bundle名称。 |
accountId | number | 是 | 系统账号的账号ID,详情参考getOsAccountLocalId。 |
callback | AsyncCallback<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
callback | AsyncCallback<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | Bundle名称。 |
callback | AsyncCallback<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pid | number | 是 | 表示进程id,详情参考getRunningProcessInfoByBundleName。 |
callback | AsyncCallback<number> | 是 | 以回调方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pid | number | 是 | 表示进程id,详情参考getRunningProcessInfoByBundleName。 |
返回值:
类型 | 说明 |
---|---|
Promise<number> | 以Promise方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
callback | AsyncCallback<Array<ProcessInformation>> | 是 | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<ProcessInformation>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
userId | number | 是 | 表示用户Id。 |
callback | AsyncCallback<Array<ProcessInformation>> | 是 | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
userId | number | 是 | 表示用户Id。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<ProcessInformation>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 |
错误码:
错误码ID | 错误信息 |
---|---|
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示要查询的应用的包名。 |
返回值:
类型 | 说明 |
---|---|
Promise<boolean> | Promise对象。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示要查询的共享库包名。 |
callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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_CREATE | 0 | 应用处于创建状态。 |
STATE_FOREGROUND | 2 | 应用处于前台状态。 |
STATE_ACTIVE | 3 | 应用处于获焦状态。 |
STATE_BACKGROUND | 4 | 应用处于后台不可见状态。 |
STATE_DESTROY | 5 | 应用处于销毁状态。 |
appManager.getRunningProcessInformationByBundleType12+
getRunningProcessInformationByBundleType(bundleType: bundleManager.BundleType): Promise<Array<ProcessInformation>>
根据包类型获取当前运行进程的有关信息。使用Promise异步回调。
系统接口:此接口为系统接口。
需要权限:ohos.permission.GET_RUNNING_INFO
系统能力:SystemCapability.Ability.AbilityRuntime.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleType | bundleManager.BundleType | 是 | 表示要查询的包类型。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<ProcessInformation>> | Promise对象,返回特定包类型的运行进程的信息。 |
错误码: 以下错误码详细介绍请参考通用错误码和元能力子系统错误码。
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not system application. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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模型下使用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 预加载的应用包名。 |
userId | number | 是 | 预加载的用户Id。 |
mode | PreloadMode | 是 | 预加载模式。 |
appIndex | number | 否 | 预加载应用分身的appIndex。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | The application does not have permission to call the interface. |
202 | Not system application. |
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. |
16000050 | Internal error. |
16300005 | The 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模型下使用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 查询的应用包名。 |
返回值:
类型 | 说明 |
---|---|
Promise<RunningMultiAppInfo> | Promise对象。返回特定包名的运行态应用多开信息。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | The application does not have permission to call the interface. |
202 | Not system application. |
401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. |
16000072 | App clone or multi-instance is not supported. |
18500001 | The 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
missionId | number | 是 | 任务ID,可通过getMissionInfos获取。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal 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模型下使用。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示要查询的应用包名。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<number>> | Promise对象。返回一个数组,包含当前应用中支持缓存后快速启动的所有进程PID。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not system application. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
801 | Capability not supported. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示Bundle名称。 |
appCloneIndex | number | 否 | 表示应用分身索引。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
16000050 | Internal error. |
16000073 | The 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
bundleName | string | 是 | 表示要设置保活的应用包名。 |
userId | number | 是 | 表示要设置保活应用所属的用户ID。 |
enable | boolean | 是 | 表示对应用保活或者取消保活。true表示对应用保活,false表示对应用取消保活。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not system application. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
801 | Capability not supported. |
16000050 | Internal error. |
16300005 | The target bundle does not exist. |
16300008 | The target bundle has no MainAbility. |
16300009 | The target bundle has no status-bar ability. |
16300010 | The 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | KeepAliveAppType | 是 | 表示要查询的保活应用类型。 |
userId | number | 否 | 表示要设置保活应用所属的用户ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<KeepAliveBundleInfo>> | Promise对象,返回用户保活应用信息的数组。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
801 | Capability not supported. |
16000050 | Internal 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
系统接口:此接口为系统接口。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
pids | Array<number> | 是 | 要查杀的进程ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。无返回结果的Promise对象。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | Permission denied. |
202 | Not System App. Interface caller is not a system app. |
401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
801 | Capability not supported. |
16000050 | Internal 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 鸿蒙OH_NativeBundle_ApplicationInfo
harmony 鸿蒙OH_NativeBundle_ElementName
harmony 鸿蒙ability_base_common.h
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦