1# @ohos.app.ability.appManager (appManager)(系统接口) 2<!--Kit: Ability Kit--> 3<!--Subsystem: Ability--> 4<!--Owner: @SKY2001--> 5<!--Designer: @yzkp--> 6<!--Tester: @lixueqing513--> 7<!--Adviser: @huipeizi--> 8 9appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。 10 11> **说明:** 12> 13> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 14> 15> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.app.ability.appManager (appManager)](js-apis-app-ability-appManager.md)。 16 17## 导入模块 18 19```ts 20import { appManager } from '@kit.AbilityKit'; 21``` 22 23## appManager.PreloadMode<sup>12+</sup> 24 25表示预加载应用进程模式的枚举。 26 27**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 28 29**系统接口**:此接口为系统接口。 30 31**模型约束**:此接口仅可在Stage模型下使用。 32 33| 名称 | 值 | 说明 | 34| ----------- | --- | --------------------------- | 35| PRESS_DOWN | 0 | 按下应用图标时进行应用进程预加载。 | 36 37## KeepAliveAppType<sup>14+</sup> 38 39表示被保活应用的应用类型。 40 41**系统接口**:此接口为系统接口。 42 43**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 44 45| 名称 | 值 | 说明 | 46| -------- | ---------- | -------- | 47| ALL | 0 | 三方应用和系统应用。此选项只能作为[getKeepAliveBundles](#appmanagergetkeepalivebundles14)接口的入参被调用。 | 48| THIRD_PARTY | 1 | 三方应用。 | 49| SYSTEM | 2 | 系统应用。 | 50 51## KeepAliveSetter<sup>14+</sup> 52 53表示应用保活的设置方类型。 54 55**系统接口**:此接口为系统接口。 56 57**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 58 59| 名称 | 值 | 说明 | 60| -------- | ---------- | -------- | 61| SYSTEM | 0 | 应用保活设置方为系统。 | 62| USER | 1 | 应用保活设置方为用户。 | 63 64## KeepAliveBundleInfo<sup>14+</sup> 65 66定义应用保活信息,可以通过[getKeepAliveBundles](#appmanagergetkeepalivebundles14)或[getKeepAliveAppServiceExtensions](#appmanagergetkeepaliveappserviceextensions20)获取。 67 68**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 69 70**系统接口**:此接口为系统接口。 71 72| 名称 | 类型 | 只读 | 可选 | 说明 | 73| ------------------------- | ------ | ---- | ---- | --------- | 74| bundleName | string | 否 | 否 | Bundle名称。 | 75| type | [KeepAliveAppType](#keepaliveapptype14) | 否 | 否 | 表示被保活应用的应用类型。 | 76| setter | [KeepAliveSetter](#keepalivesetter14) | 否 | 否 | 表示应用保活设置者类型。 | 77| setterUserId<sup>20+</sup> | number | 否 | 是 | 应用保活设置者的用户ID。 | 78| allowUserToCancel<sup>20+</sup> | boolean | 否 | 是 | 表示是否允许用户取消保活。true表示允许,false表示不允许。 | 79 80## appManager.isSharedBundleRunning<sup>10+</sup> 81 82isSharedBundleRunning(bundleName: string, versionCode: number): Promise\<boolean> 83 84检查共享库是否正在使用。使用Promise异步回调。 85 86**需要权限**:ohos.permission.GET_RUNNING_INFO 87 88**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 89 90**系统接口**:此接口为系统接口。 91 92**参数**: 93 94| 参数名 | 类型 | 必填 | 说明 | 95| --------- | ---------------------------------------- | ---- | -------------- | 96| bundleName | string | 是 | 表示要查询的共享库包名。 | 97| versionCode | number | 是 | 表示要查询的共享库版本号。 | 98 99**返回值:** 100 101| 类型 | 说明 | 102| -------- | -------- | 103| Promise\<boolean> | Promise对象。返回true表示共享库正在使用,返回false表示共享库不在使用。 | 104 105**错误码**: 106 107以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 108 109| 错误码ID | 错误信息 | 110| ------- | -------- | 111| 201 | Permission denied. | 112| 202 | Not System App. Interface caller is not a system app. | 113| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 114| 16000050 | Internal error. | 115 116**示例:** 117 118```ts 119import { appManager } from '@kit.AbilityKit'; 120import { BusinessError } from '@kit.BasicServicesKit'; 121 122const bundleName = "this is a bundleName"; 123const versionCode = 1; 124 125appManager.isSharedBundleRunning(bundleName, versionCode).then((data) => { 126 console.info(`The shared bundle running is: ${JSON.stringify(data)}`); 127}).catch((error: BusinessError) => { 128 console.error(`error: ${JSON.stringify(error)}`); 129}); 130``` 131 132## appManager.isSharedBundleRunning<sup>10+</sup> 133 134isSharedBundleRunning(bundleName: string, versionCode: number, callback: AsyncCallback\<boolean>): void 135 136检查共享库是否正在使用。使用callback异步回调。 137 138**需要权限**:ohos.permission.GET_RUNNING_INFO 139 140**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 141 142**系统接口**:此接口为系统接口。 143 144**参数**: 145 146| 参数名 | 类型 | 必填 | 说明 | 147| --------- | ---------------------------------------- | ---- | -------------- | 148| bundleName | string | 是 | 表示要查询的共享库包名。 | 149| versionCode | number | 是 | 表示要查询的共享库版本号。 | 150| callback | AsyncCallback\<boolean>> | 是 | 回调函数。返回true表示共享库正在使用,返回false表示共享库不在使用。 | 151 152**错误码**: 153 154以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 155 156| 错误码ID | 错误信息 | 157| ------- | -------- | 158| 201 | Permission denied. | 159| 202 | Not System App. Interface caller is not a system app. | 160| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 161| 16000050 | Internal error. | 162 163**示例:** 164 165```ts 166import { appManager } from '@kit.AbilityKit'; 167 168const bundleName = "this is a bundleName"; 169const versionCode = 1; 170 171appManager.isSharedBundleRunning(bundleName, versionCode, (err, data) => { 172 if (err) { 173 console.error(`err: ${JSON.stringify(err)}`); 174 } else { 175 console.info(`The shared bundle running is: ${JSON.stringify(data)}`); 176 } 177}); 178``` 179 180## appManager.on('appForegroundState')<sup>11+</sup> 181 182on(type: 'appForegroundState', observer: AppForegroundStateObserver): void 183 184注册应用启动和退出的观测器,可用于系统应用观测所有应用的启动和退出。 185 186**系统接口**:此接口为系统接口。 187 188**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 189 190**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 191 192**参数:** 193 194| 参数名 | 类型 | 必填 | 说明 | 195| -------- | -------- | -------- | -------- | 196| type | string | 是 | 调用接口类型,固定填'appForegroundState'字符串。 | 197| observer | [AppForegroundStateObserver](js-apis-inner-application-appForegroundStateObserver-sys.md) | 是 | 应用状态观测器,用于观测应用的启动和退出。 | 198 199**错误码**: 200 201以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 202 203| 错误码ID | 错误信息 | 204| ------- | -------- | 205| 201 | Permission denied. | 206| 202 | Not System App. Interface caller is not a system app. | 207| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 208| 16000050 | Internal error. | 209 210**示例:** 211 212```ts 213import { appManager } from '@kit.AbilityKit'; 214import { BusinessError } from '@kit.BasicServicesKit'; 215 216let observer: appManager.AppForegroundStateObserver = { 217 onAppStateChanged(appStateData) { 218 console.info(`[appManager] onAppStateChanged: ${JSON.stringify(appStateData)}`); 219 }, 220}; 221 222try { 223 appManager.on('appForegroundState', observer); 224} catch (paramError) { 225 let code = (paramError as BusinessError).code; 226 let message = (paramError as BusinessError).message; 227 console.error(`[appManager] error: ${code}, ${message}`); 228} 229``` 230 231## appManager.on('abilityFirstFrameState')<sup>12+</sup> 232 233on(type: 'abilityFirstFrameState', observer: AbilityFirstFrameStateObserver, bundleName?: string): void 234 235注册监听Ability首帧绘制完成事件观察者对象,可用于系统应用监听Ability首帧绘制事件。 236 237**系统接口**:此接口为系统接口。 238 239**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 240 241**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 242 243**参数:** 244 245| 参数名 | 类型 | 必填 | 说明 | 246| ---------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 247| type | string | 是 | 调用接口类型,固定填'abilityFirstFrameState'字符串。 | 248| observer | [AbilityFirstFrameStateObserver](js-apis-inner-application-abilityFirstFrameStateObserver-sys.md) | 是 | 表示待注册的Ability首帧绘制完成事件观察者对象。 | 249| bundleName | string | 否 | 表示待监听的Ability的应用bundleName,不填表示注册监听所有应用ability首帧绘制完成事件。 | 250 251**错误码**: 252 253以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 254 255| 错误码ID | 错误信息 | 256| ------- | -------- | 257| 201 | Permission denied. | 258| 202 | Not System App. Interface caller is not a system app. | 259| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 260| 16000050 | Internal error. | 261 262**示例:** 263 264```ts 265import { appManager } from '@kit.AbilityKit'; 266import { BusinessError } from '@kit.BasicServicesKit'; 267 268let abilityFirstFrameStateObserverForAll: appManager.AbilityFirstFrameStateObserver = { 269 onAbilityFirstFrameDrawn(abilityStateData: appManager.AbilityFirstFrameStateData) { 270 console.info("abilityFirstFrame: ", JSON.stringify(abilityStateData)); 271 } 272}; 273 274try { 275 appManager.on('abilityFirstFrameState', abilityFirstFrameStateObserverForAll); 276} catch (e) { 277 let code = (e as BusinessError).code; 278 let message = (e as BusinessError).message; 279 console.error(`[appManager] error: ${code}, ${message}`); 280} 281``` 282 283## appManager.off('appForegroundState')<sup>11+</sup> 284 285off(type: 'appForegroundState', observer?: AppForegroundStateObserver): void 286 287取消注册应用启动和退出的观测器。 288 289**系统接口**:此接口为系统接口。 290 291**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 292 293**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 294 295**参数:** 296 297| 参数名 | 类型 | 必填 | 说明 | 298| -------- | -------- | -------- | -------- | 299| type | string | 是 | 调用接口类型,固定填'appForegroundState'字符串。| 300| observer | [AppForegroundStateObserver](js-apis-inner-application-appForegroundStateObserver-sys.md) | 否 | 取消注册的应用启动和退出观测器。| 301 302**错误码**: 303 304以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 305 306| 错误码ID | 错误信息 | 307| ------- | -------- | 308| 201 | Permission denied. | 309| 202 | Not System App. Interface caller is not a system app. | 310| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 311| 16000050 | Internal error. | 312 313**示例:** 314 315```ts 316import { appManager } from '@kit.AbilityKit'; 317import { BusinessError } from '@kit.BasicServicesKit'; 318 319let observer_: appManager.AppForegroundStateObserver | undefined; 320// 1.注册应用启动和退出的监听器 321let observer: appManager.AppForegroundStateObserver = { 322 onAppStateChanged(appStateData: appManager.AppStateData) { 323 console.info(`[appManager] onAppStateChanged: ${JSON.stringify(appStateData)}`); 324 }, 325}; 326 327try { 328 appManager.on('appForegroundState', observer); 329 // 保存observer对象,用于注销 330 observer_ = observer; 331} catch (paramError) { 332 let code = (paramError as BusinessError).code; 333 let message = (paramError as BusinessError).message; 334 console.error(`[appManager] error: ${code}, ${message}`); 335} 336 337// 2.注销监听器 338try { 339 appManager.off('appForegroundState', observer_); 340} catch (paramError) { 341 let code = (paramError as BusinessError).code; 342 let message = (paramError as BusinessError).message; 343 console.error(`[appManager] error: ${code}, ${message}`); 344} 345``` 346 347## appManager.off('abilityFirstFrameState')<sup>12+</sup> 348 349off(type: 'abilityFirstFrameState', observer?: AbilityFirstFrameStateObserver): void 350 351取消注册监听Ability首帧绘制完成事件观察者对象。 352 353**系统接口**:此接口为系统接口。 354 355**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 356 357**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 358 359**参数:** 360 361| 参数名 | 类型 | 必填 | 说明 | 362| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 363| type | string | 是 | 调用接口类型,固定填'abilityFirstFrameState'字符串。 | 364| observer | [AbilityFirstFrameStateObserver](js-apis-inner-application-abilityFirstFrameStateObserver-sys.md) | 否 | 表示待取消的Ability首帧绘制完成事件观察者对象,不填表示取消所有监听对象。 | 365 366**错误码**: 367 368以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 369 370| 错误码ID | 错误信息 | 371| ------- | -------- | 372| 201 | Permission denied. | 373| 202 | Not System App. Interface caller is not a system app. | 374| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 375| 16000050 | Internal error. | 376 377**示例:** 378 379```ts 380import { appManager } from '@kit.AbilityKit'; 381import { BusinessError } from '@kit.BasicServicesKit'; 382 383let abilityFirstFrameStateObserverForAll: appManager.AbilityFirstFrameStateObserver = { 384 onAbilityFirstFrameDrawn(abilityStateData: appManager.AbilityFirstFrameStateData) { 385 console.info("abilityFirstFrame: ", JSON.stringify(abilityStateData)); 386 } 387}; 388 389try { 390 appManager.on('abilityFirstFrameState', abilityFirstFrameStateObserverForAll); 391} catch (e) { 392 let code = (e as BusinessError).code; 393 let message = (e as BusinessError).message; 394 console.error(`[appManager] error: ${code}, ${message}`); 395} 396 397try { 398 appManager.off('abilityFirstFrameState', abilityFirstFrameStateObserverForAll); 399} catch (e) { 400 let code = (e as BusinessError).code; 401 let message = (e as BusinessError).message; 402 console.error(`[appManager] error: ${code}, ${message}`); 403} 404``` 405 406## appManager.getForegroundApplications 407 408getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void 409 410获取当前所有前台应用的信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。 411 412**需要权限**:ohos.permission.GET_RUNNING_INFO 413 414**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 415 416**系统接口**:此接口为系统接口。 417 418**参数:** 419 420| 参数名 | 类型 | 必填 | 说明 | 421| -------- | -------- | -------- | -------- | 422| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | 以回调方式方式返回接口运行结果及应用状态数据数组,可进行错误处理或其他自定义处理。 | 423 424**错误码**: 425 426以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 427 428| 错误码ID | 错误信息 | 429| ------- | -------- | 430| 201 | Permission denied. | 431| 202 | Not System App. Interface caller is not a system app. | 432| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 433| 16000050 | Internal error. | 434 435**示例:** 436 437```ts 438import { appManager } from '@kit.AbilityKit'; 439import { BusinessError } from '@kit.BasicServicesKit'; 440 441function getForegroundApplicationsCallback(err: BusinessError, data: Array<appManager.AppStateData>) { 442 if (err) { 443 console.error(`getForegroundApplicationsCallback fail, err: ${JSON.stringify(err)}`); 444 } else { 445 console.info(`getForegroundApplicationsCallback success, data: ${JSON.stringify(data)}`); 446 } 447} 448 449try { 450 appManager.getForegroundApplications(getForegroundApplicationsCallback); 451} catch (paramError) { 452 let code = (paramError as BusinessError).code; 453 let message = (paramError as BusinessError).message; 454 console.error(`[appManager] error: ${code}, ${message}`); 455} 456``` 457 458## appManager.getForegroundApplications 459 460getForegroundApplications(): Promise\<Array\<AppStateData>> 461 462获取当前所有前台应用的信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。 463 464**需要权限**:ohos.permission.GET_RUNNING_INFO 465 466**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 467 468**系统接口**:此接口为系统接口。 469 470**返回值:** 471 472| 类型 | 说明 | 473| -------- | -------- | 474| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 返回前台进程应用程序的数组。 | 475 476**错误码**: 477 478以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 479 480| 错误码ID | 错误信息 | 481| ------- | -------- | 482| 201 | Permission denied. | 483| 202 | Not System App. Interface caller is not a system app. | 484| 16000050 | Internal error. | 485 486**示例:** 487 488```ts 489import { appManager } from '@kit.AbilityKit'; 490import { BusinessError } from '@kit.BasicServicesKit'; 491 492appManager.getForegroundApplications().then((data) => { 493 console.info(`getForegroundApplications success, data: ${JSON.stringify(data)}`); 494}).catch((err: BusinessError) => { 495 console.error(`getForegroundApplications fail, err: ${JSON.stringify(err)}`); 496}); 497``` 498 499## appManager.killProcessWithAccount 500 501killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\> 502 503终止account进程。使用Promise异步回调。 504 505> **说明:** 506> 507> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 508 509**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES 510 511**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 512 513**系统接口**:此接口为系统接口。 514 515**参数:** 516 517| 参数名 | 类型 | 必填 | 说明 | 518| -------- | -------- | -------- | -------- | 519| bundleName | string | 是 | Bundle名称。 | 520| accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)。 | 521 522**返回值:** 523 524| 类型 | 说明 | 525| -------------- | --------------- | 526| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 527 528**错误码**: 529 530以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 531 532| 错误码ID | 错误信息 | 533| ------- | -------- | 534| 201 | Permission denied. | 535| 202 | Not System App. Interface caller is not a system app. | 536| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 537| 16000050 | Internal error. | 538 539**示例:** 540 541```ts 542import { appManager } from '@kit.AbilityKit'; 543import { BusinessError } from '@kit.BasicServicesKit'; 544 545let bundleName = 'bundleName'; 546let accountId = 0; 547 548try { 549 appManager.killProcessWithAccount(bundleName, accountId).then(() => { 550 console.info('killProcessWithAccount success'); 551 }).catch((err: BusinessError) => { 552 console.error(`killProcessWithAccount fail, err: ${JSON.stringify(err)}`); 553 }); 554} catch (paramError) { 555 let code = (paramError as BusinessError).code; 556 let message = (paramError as BusinessError).message; 557 console.error(`[appManager] error: ${code}, ${message}`); 558} 559``` 560 561## appManager.killProcessWithAccount<sup>14+</sup> 562 563killProcessWithAccount(bundleName: string, accountId: number, clearPageStack: boolean, appIndex?: number): Promise\<void\> 564 565终止account进程。使用Promise异步回调。 566 567> **说明:** 568> 569> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 570 571**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES 572 573**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 574 575**系统接口**:此接口为系统接口。 576 577**参数:** 578 579| 参数名 | 类型 | 必填 | 说明 | 580| -------- | -------- | -------- | -------- | 581| bundleName | string | 是 | Bundle名称。 | 582| accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)。 | 583| clearPageStack | boolean | 是 | 表示是否清除页面堆栈。true表示清除,false表示不清除。 | 584| appIndex | number | 否 | 应用分身ID。 | 585 586**返回值:** 587 588| 类型 | 说明 | 589| -------------- | --------------- | 590| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 591 592**错误码**: 593 594以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 595 596| 错误码ID | 错误信息 | 597| ------- | -------- | 598| 201 | Permission denied. | 599| 202 | Not System App. Interface caller is not a system app. | 600| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 601| 16000050 | Internal error. | 602 603**示例:** 604 605```ts 606import { appManager } from '@kit.AbilityKit'; 607import { BusinessError } from '@kit.BasicServicesKit'; 608 609let bundleName = 'bundleName'; 610let accountId = 0; 611let isClearPageStack = false; 612let appIndex = 1; 613 614try { 615 appManager.killProcessWithAccount(bundleName, accountId, isClearPageStack, appIndex).then(() => { 616 console.info('killProcessWithAccount success'); 617 }).catch((err: BusinessError) => { 618 console.error(`killProcessWithAccount fail, err: ${JSON.stringify(err)}`); 619 }); 620} catch (paramError) { 621 let code = (paramError as BusinessError).code; 622 let message = (paramError as BusinessError).message; 623 console.error(`[appManager] error: ${code}, ${message}`); 624} 625``` 626 627## appManager.killProcessWithAccount 628 629killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void 630 631终止account进程。使用callback异步回调。 632 633> **说明:** 634> 635> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 636 637**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES 638 639**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 640 641**系统接口**:此接口为系统接口。 642 643**参数:** 644 645 | 参数名 | 类型 | 必填 | 说明 | 646 | -------- | -------- | -------- | -------- | 647 | bundleName | string | 是 | 应用Bundle名称。 | 648 | accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)。 | 649 | callback | AsyncCallback\<void\> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 650 651**错误码**: 652 653以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 654 655| 错误码ID | 错误信息 | 656| ------- | -------- | 657| 201 | Permission denied. | 658| 202 | Not System App. Interface caller is not a system app. | 659| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 660| 16000050 | Internal error. | 661 662**示例:** 663 664```ts 665import { appManager } from '@kit.AbilityKit'; 666import { BusinessError } from '@kit.BasicServicesKit'; 667 668let bundleName = 'bundleName'; 669let accountId = 0; 670 671function killProcessWithAccountCallback(err: BusinessError) { 672 if (err) { 673 console.error(`killProcessWithAccountCallback fail, err: ${JSON.stringify(err)}`); 674 } else { 675 console.info('killProcessWithAccountCallback success.'); 676 } 677} 678 679appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback); 680``` 681 682## appManager.killProcessesByBundleName 683 684killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>) 685 686通过Bundle名称终止进程。 687 688**需要权限**:ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES 689 690**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 691 692**系统接口**:此接口为系统接口。 693 694**参数:** 695 696| 参数名 | 类型 | 必填 | 说明 | 697| -------- | -------- | -------- | -------- | 698| bundleName | string | 是 | 表示Bundle名称。 | 699| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 700 701**错误码**: 702 703以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 704 705| 错误码ID | 错误信息 | 706| ------- | -------- | 707| 201 | Permission denied. | 708| 202 | Not System App. Interface caller is not a system app. | 709| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 710| 16000050 | Internal error. | 711 712**示例:** 713 714```ts 715import { appManager } from '@kit.AbilityKit'; 716import { BusinessError } from '@kit.BasicServicesKit'; 717 718let bundleName = 'bundleName'; 719 720function killProcessesByBundleNameCallback(err: BusinessError) { 721 if (err) { 722 console.error(`killProcessesByBundleNameCallback fail, err: ${JSON.stringify(err)}`); 723 } else { 724 console.info('killProcessesByBundleNameCallback success.'); 725 } 726} 727 728try { 729 appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback); 730} catch (paramError) { 731 let code = (paramError as BusinessError).code; 732 let message = (paramError as BusinessError).message; 733 console.error(`[appManager] error: ${code}, ${message}`); 734} 735``` 736 737## appManager.killProcessesByBundleName 738 739killProcessesByBundleName(bundleName: string): Promise\<void> 740 741通过Bundle名称终止进程。 742 743**需要权限**:ohos.permission.KILL_APP_PROCESSES or ohos.permission.CLEAN_BACKGROUND_PROCESSES 744 745**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 746 747**系统接口**:此接口为系统接口。 748 749**参数:** 750 751| 参数名 | 类型 | 必填 | 说明 | 752| -------- | -------- | -------- | -------- | 753| bundleName | string | 是 | 表示Bundle名称。 | 754 755**返回值:** 756 757| 类型 | 说明 | 758| -------- | -------- | 759| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 760 761**错误码**: 762 763以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 764 765| 错误码ID | 错误信息 | 766| ------- | -------- | 767| 201 | Permission denied. | 768| 202 | Not System App. Interface caller is not a system app. | 769| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 770| 16000050 | Internal error. | 771 772**示例:** 773 774```ts 775import { appManager } from '@kit.AbilityKit'; 776import { BusinessError } from '@kit.BasicServicesKit'; 777 778let bundleName = 'bundleName'; 779 780try { 781 appManager.killProcessesByBundleName(bundleName).then((data) => { 782 console.info('killProcessesByBundleName success.'); 783 }).catch((err: BusinessError) => { 784 console.error(`killProcessesByBundleName fail, err: ${JSON.stringify(err)}`); 785 }); 786} catch (paramError) { 787 let code = (paramError as BusinessError).code; 788 let message = (paramError as BusinessError).message; 789 console.error(`[appManager] error: ${code}, ${message}`); 790} 791``` 792 793## appManager.clearUpApplicationData 794 795clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>) 796 797通过Bundle名称清除应用数据。 798 799**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 800 801**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 802 803**系统接口**:此接口为系统接口。 804 805**参数:** 806 807| 参数名 | 类型 | 必填 | 说明 | 808| -------- | -------- | -------- | -------- | 809| bundleName | string | 是 | Bundle名称。 | 810| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 811 812**错误码**: 813 814以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 815 816| 错误码ID | 错误信息 | 817| ------- | -------- | 818| 201 | Permission denied. | 819| 202 | Not System App. Interface caller is not a system app. | 820| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 821| 16000050 | Internal error. | 822 823**示例:** 824 825```ts 826import { appManager } from '@kit.AbilityKit'; 827import { BusinessError } from '@kit.BasicServicesKit'; 828 829let bundleName = 'bundleName'; 830 831function clearUpApplicationDataCallback(err: BusinessError) { 832 if (err) { 833 console.error(`clearUpApplicationDataCallback fail, err: ${JSON.stringify(err)}`); 834 } else { 835 console.info('clearUpApplicationDataCallback success.'); 836 } 837} 838 839try { 840 appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback); 841} catch (paramError) { 842 let code = (paramError as BusinessError).code; 843 let message = (paramError as BusinessError).message; 844 console.error(`[appManager] error: ${code}, ${message}`); 845} 846``` 847 848## appManager.clearUpApplicationData 849 850clearUpApplicationData(bundleName: string): Promise\<void> 851 852通过Bundle名称清除应用数据。 853 854**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 855 856**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 857 858**系统接口**:此接口为系统接口。 859 860**参数:** 861 862| 参数名 | 类型 | 必填 | 说明 | 863| -------- | -------- | -------- | -------- | 864| bundleName | string | 是 | 表示Bundle名称。 | 865 866**返回值:** 867 868| 类型 | 说明 | 869| -------- | -------- | 870| Promise\<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 871 872**错误码**: 873 874以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 875 876| 错误码ID | 错误信息 | 877| ------- | -------- | 878| 201 | Permission denied. | 879| 202 | Not System App. Interface caller is not a system app. | 880| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 881| 16000050 | Internal error. | 882 883**示例:** 884 885```ts 886import { appManager } from '@kit.AbilityKit'; 887import { BusinessError } from '@kit.BasicServicesKit'; 888 889let bundleName = 'bundleName'; 890 891try { 892 appManager.clearUpApplicationData(bundleName).then((data) => { 893 console.info('clearUpApplicationData success.'); 894 }).catch((err: BusinessError) => { 895 console.error(`clearUpApplicationData fail, err: ${JSON.stringify(err)}`); 896 }); 897} catch (paramError) { 898 let code = (paramError as BusinessError).code; 899 let message = (paramError as BusinessError).message; 900 console.error(`[appManager] error: ${code}, ${message}`); 901} 902``` 903 904## appManager.getProcessMemoryByPid<sup>10+</sup> 905 906getProcessMemoryByPid(pid: number, callback: AsyncCallback\<number>): void 907 908通过pid查询对应进程占用的内存大小。 909 910**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 911 912**系统接口**:此接口为系统接口。 913 914**参数:** 915 916| 参数名 | 类型 | 必填 | 说明 | 917| -------- | -------- | -------- | -------- | 918| pid | number | 是 | 表示进程id,详情参考[getRunningProcessInfoByBundleName](#appmanagergetrunningprocessinfobybundlename10)。 | 919| callback | AsyncCallback\<number> | 是 | 以回调方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。 | 920 921**错误码**: 922 923以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 924 925| 错误码ID | 错误信息 | 926| ------- | -------- | 927| 202 | Not System App. Interface caller is not a system app. | 928| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 929| 16000050 | Internal error. | 930 931**示例:** 932 933```ts 934import { appManager } from '@kit.AbilityKit'; 935import { BusinessError } from '@kit.BasicServicesKit'; 936 937let pid = 0; 938function getProcessMemoryByPidCallback(err: BusinessError, data: number) { 939 if (err) { 940 console.error(`getProcessMemoryByPidCallback fail, err: ${JSON.stringify(err)}`); 941 } else { 942 console.info('getProcessMemoryByPidCallback success.'); 943 } 944} 945 946try { 947 appManager.getProcessMemoryByPid(pid, getProcessMemoryByPidCallback); 948} catch (paramError) { 949 let code = (paramError as BusinessError).code; 950 let message = (paramError as BusinessError).message; 951 console.error(`[appManager] error: ${code}, ${message}`); 952} 953``` 954 955## appManager.getProcessMemoryByPid<sup>10+</sup> 956 957getProcessMemoryByPid(pid: number): Promise\<number> 958 959通过pid查询对应进程占用的内存大小。 960 961**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 962 963**系统接口**:此接口为系统接口。 964 965**参数:** 966 967| 参数名 | 类型 | 必填 | 说明 | 968| -------- | -------- | -------- | -------- | 969| pid | number | 是 | 表示进程id,详情参考[getRunningProcessInfoByBundleName](#appmanagergetrunningprocessinfobybundlename10)。 | 970 971**返回值:** 972 973| 类型 | 说明 | 974| -------- | -------- | 975| Promise\<number> | 以Promise方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。 | 976 977**错误码**: 978 979以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 980 981| 错误码ID | 错误信息 | 982| ------- | -------- | 983| 202 | Not System App. Interface caller is not a system app. | 984| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 985| 16000050 | Internal error. | 986 987**示例:** 988 989```ts 990import { appManager } from '@kit.AbilityKit'; 991import { BusinessError } from '@kit.BasicServicesKit'; 992 993let pid = 0; 994 995try { 996 appManager.getProcessMemoryByPid(pid).then((data) => { 997 console.info('getProcessMemoryByPid success.'); 998 }).catch((err: BusinessError) => { 999 console.error(`getProcessMemoryByPid fail, err: ${JSON.stringify(err)}`); 1000 }); 1001} catch (paramError) { 1002 let code = (paramError as BusinessError).code; 1003 let message = (paramError as BusinessError).message; 1004 console.error(`[appManager] error: ${code}, ${message}`); 1005} 1006``` 1007 1008## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1009 1010getRunningProcessInfoByBundleName(bundleName: string, callback: AsyncCallback\<Array\<ProcessInformation>>): void 1011 1012通过bundleName获取有关运行进程的信息。 1013 1014**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1015 1016**系统接口**:此接口为系统接口。 1017 1018**参数:** 1019 1020| 参数名 | 类型 | 必填 | 说明 | 1021| -------- | -------- | -------- | -------- | 1022| bundleName | string | 是 | 表示Bundle名称。 | 1023| callback | AsyncCallback\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 是 | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1024 1025**错误码**: 1026 1027以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1028 1029| 错误码ID | 错误信息 | 1030| ------- | -------- | 1031| 202 | Not System App. Interface caller is not a system app. | 1032| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1033| 16000050 | Internal error. | 1034 1035**示例:** 1036 1037```ts 1038import { appManager } from '@kit.AbilityKit'; 1039import { BusinessError } from '@kit.BasicServicesKit'; 1040 1041let bundleName = "bundleName"; 1042function getRunningProcessInfoByBundleNameCallback(err: BusinessError, data: Array<appManager.ProcessInformation>) { 1043 if (err) { 1044 console.error(`getRunningProcessInfoByBundleNameCallback fail, err: ${JSON.stringify(err)}`); 1045 } else { 1046 console.info('getRunningProcessInfoByBundleNameCallback success.'); 1047 } 1048} 1049 1050try { 1051 appManager.getRunningProcessInfoByBundleName(bundleName, getRunningProcessInfoByBundleNameCallback); 1052} catch (paramError) { 1053 let code = (paramError as BusinessError).code; 1054 let message = (paramError as BusinessError).message; 1055 console.error(`[appManager] error: ${code}, ${message}`); 1056} 1057``` 1058 1059## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1060 1061getRunningProcessInfoByBundleName(bundleName: string): Promise\<Array\<ProcessInformation>> 1062 1063通过bundleName获取有关运行进程的信息。 1064 1065**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1066 1067**系统接口**:此接口为系统接口。 1068 1069**参数:** 1070 1071| 参数名 | 类型 | 必填 | 说明 | 1072| -------- | -------- | -------- | -------- | 1073| bundleName | string | 是 | 表示Bundle名称。 | 1074 1075**返回值:** 1076 1077| 类型 | 说明 | 1078| -------- | -------- | 1079| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1080 1081**错误码**: 1082 1083以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1084 1085| 错误码ID | 错误信息 | 1086| ------- | -------- | 1087| 202 | Not System App. Interface caller is not a system app. | 1088| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1089| 16000050 | Internal error. | 1090 1091**示例:** 1092 1093```ts 1094import { appManager } from '@kit.AbilityKit'; 1095import { BusinessError } from '@kit.BasicServicesKit'; 1096 1097let bundleName = "bundleName"; 1098 1099try { 1100 appManager.getRunningProcessInfoByBundleName(bundleName).then((data) => { 1101 console.info('getRunningProcessInfoByBundleName success.'); 1102 }).catch((err: BusinessError) => { 1103 console.error(`getRunningProcessInfoByBundleName fail, err: ${JSON.stringify(err)}`); 1104 }); 1105} catch (paramError) { 1106 let code = (paramError as BusinessError).code; 1107 let message = (paramError as BusinessError).message; 1108 console.error(`[appManager] error: ${code}, ${message}`); 1109} 1110``` 1111 1112## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1113 1114getRunningProcessInfoByBundleName(bundleName: string, userId: number, callback: AsyncCallback\<Array\<ProcessInformation>>): void 1115 1116通过bundleName和userId获取有关运行进程的信息。 1117 1118**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1119 1120**系统接口**:此接口为系统接口。 1121 1122**参数:** 1123 1124| 参数名 | 类型 | 必填 | 说明 | 1125| -------- | -------- | -------- | -------- | 1126| bundleName | string | 是 | 表示Bundle名称。 | 1127| userId | number | 是 | 表示用户Id。 | 1128| callback | AsyncCallback\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 是 | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1129 1130**错误码**: 1131 1132以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1133 1134| 错误码ID | 错误信息 | 1135| ------- | -------- | 1136| 202 | Not System App. Interface caller is not a system app. | 1137| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1138| 16000050 | Internal error. | 1139 1140**示例:** 1141 1142```ts 1143import { appManager } from '@kit.AbilityKit'; 1144import { BusinessError } from '@kit.BasicServicesKit'; 1145 1146let bundleName = "bundleName"; 1147let userId = 0; 1148function getRunningProcessInfoByBundleNameCallback(err: BusinessError, data: Array<appManager.ProcessInformation>) { 1149 if (err) { 1150 console.error(`getRunningProcessInfoByBundleNameCallback fail, err: ${JSON.stringify(err)}`); 1151 } else { 1152 console.info('getRunningProcessInfoByBundleNameCallback success.'); 1153 } 1154} 1155 1156try { 1157 appManager.getRunningProcessInfoByBundleName(bundleName, userId, getRunningProcessInfoByBundleNameCallback); 1158} catch (paramError) { 1159 let code = (paramError as BusinessError).code; 1160 let message = (paramError as BusinessError).message; 1161 console.error(`[appManager] error: ${code}, ${message}`); 1162} 1163``` 1164 1165## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1166 1167getRunningProcessInfoByBundleName(bundleName: string, userId: number): Promise\<Array\<ProcessInformation>> 1168 1169通过bundleName和userId获取有关运行进程的信息。 1170 1171**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1172 1173**系统接口**:此接口为系统接口。 1174 1175**参数:** 1176 1177| 参数名 | 类型 | 必填 | 说明 | 1178| -------- | -------- | -------- | -------- | 1179| bundleName | string | 是 | 表示Bundle名称。 | 1180| userId | number | 是 | 表示用户Id。 | 1181 1182**返回值:** 1183 1184| 类型 | 说明 | 1185| -------- | -------- | 1186| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1187 1188**错误码**: 1189 1190以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1191 1192| 错误码ID | 错误信息 | 1193| ------- | -------- | 1194| 202 | Not System App. Interface caller is not a system app. | 1195| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1196| 16000050 | Internal error. | 1197 1198**示例:** 1199 1200```ts 1201import { appManager } from '@kit.AbilityKit'; 1202import { BusinessError } from '@kit.BasicServicesKit'; 1203 1204let bundleName = "bundleName"; 1205let userId = 0; 1206 1207try { 1208 appManager.getRunningProcessInfoByBundleName(bundleName, userId).then((data) => { 1209 console.info('getRunningProcessInfoByBundleName success.'); 1210 }).catch((err: BusinessError) => { 1211 console.error(`getRunningProcessInfoByBundleName fail, err: ${JSON.stringify(err)}`); 1212 }); 1213} catch (paramError) { 1214 let code = (paramError as BusinessError).code; 1215 let message = (paramError as BusinessError).message; 1216 console.error(`[appManager] error: ${code}, ${message}`); 1217} 1218``` 1219 1220## appManager.isApplicationRunning<sup>11+</sup> 1221 1222isApplicationRunning(bundleName: string): Promise\<boolean> 1223 1224查询单个应用是否正在运行。使用Promise异步回调。 1225 1226**系统接口**:此接口为系统接口。 1227 1228**需要权限**:ohos.permission.GET_RUNNING_INFO 1229 1230**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1231 1232**参数**: 1233 1234| 参数名 | 类型 | 必填 | 说明 | 1235| --------- | ---------------------------------------- | ---- | -------------- | 1236| bundleName | string | 是 | 表示要查询的应用的包名。 | 1237 1238**返回值:** 1239 1240| 类型 | 说明 | 1241| -------- | -------- | 1242| Promise\<boolean> | Promise对象。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。 | 1243 1244**错误码**: 1245 1246以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1247 1248| 错误码ID | 错误信息 | 1249| ------- | -------- | 1250| 201 | Permission denied. | 1251| 202 | Not System App. Interface caller is not a system app. | 1252| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1253| 16000050 | Internal error. | 1254 1255**示例:** 1256 1257```ts 1258import { appManager } from '@kit.AbilityKit'; 1259import { BusinessError } from '@kit.BasicServicesKit'; 1260 1261let bundleName = "com.example.myapplication"; 1262 1263appManager.isApplicationRunning(bundleName).then((data) => { 1264 console.info(`The application running is: ${JSON.stringify(data)}`); 1265}).catch((error: BusinessError) => { 1266 console.error(`error: ${JSON.stringify(error)}`); 1267}); 1268``` 1269 1270## appManager.isApplicationRunning<sup>11+</sup> 1271 1272isApplicationRunning(bundleName: string, callback: AsyncCallback\<boolean>): void 1273 1274查询单个应用是否正在运行。使用callback异步回调。 1275 1276**系统接口**:此接口为系统接口。 1277 1278**需要权限**:ohos.permission.GET_RUNNING_INFO 1279 1280**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1281 1282**参数**: 1283 1284| 参数名 | 类型 | 必填 | 说明 | 1285| --------- | ---------------------------------------- | ---- | -------------- | 1286| bundleName | string | 是 | 表示要查询的共享库包名。 | 1287| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。 | 1288 1289**错误码**: 1290 1291以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1292 1293| 错误码ID | 错误信息 | 1294| ------- | -------- | 1295| 201 | Permission denied. | 1296| 202 | Not System App. Interface caller is not a system app. | 1297| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1298| 16000050 | Internal error. | 1299 1300**示例:** 1301 1302```ts 1303import { appManager } from '@kit.AbilityKit'; 1304import { BusinessError } from '@kit.BasicServicesKit'; 1305 1306let bundleName = "com.example.myapplication"; 1307 1308try { 1309 appManager.isApplicationRunning(bundleName, (err, data) => { 1310 if (err) { 1311 console.error(`err: ${JSON.stringify(err)}`); 1312 } else { 1313 console.info(`The application running is: ${JSON.stringify(data)}`); 1314 } 1315 }); 1316} catch (paramError) { 1317 let code = (paramError as BusinessError).code; 1318 let message = (paramError as BusinessError).message; 1319 console.error(`[appManager] error: ${code}, ${message}`); 1320} 1321``` 1322 1323## ApplicationState 1324 1325应用状态,该类型为枚举,可配合[AbilityStateData](js-apis-inner-application-abilityStateData.md)返回相应的应用状态。 1326 1327**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1328 1329**系统接口**:此接口为系统接口。 1330 1331| 名称 | 值 | 说明 | 1332| -------------------- | --- | --------------------------------- | 1333| STATE_CREATE | 0 | 应用处于创建状态。 | 1334| STATE_FOREGROUND | 2 | 应用处于前台状态。 | 1335| STATE_ACTIVE | 3 | 应用处于获焦状态。 | 1336| STATE_BACKGROUND | 4 | 应用处于后台不可见状态。 | 1337| STATE_DESTROY | 5 | 应用处于销毁状态。 | 1338 1339 1340## appManager.getRunningProcessInformationByBundleType<sup>12+</sup> 1341 1342getRunningProcessInformationByBundleType(bundleType: bundleManager.BundleType): Promise\<Array\<ProcessInformation>> 1343 1344根据包类型获取当前运行进程的有关信息。使用Promise异步回调。 1345 1346**系统接口**:此接口为系统接口。 1347 1348**需要权限**:ohos.permission.GET_RUNNING_INFO 1349 1350**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1351 1352**参数**: 1353 1354| 参数名 | 类型 | 必填 | 说明 | 1355| --------- | ---------------------------------------- | ---- | -------------- | 1356| bundleType | [bundleManager.BundleType](js-apis-bundleManager.md#bundletype) | 是 | 表示要查询的包类型。 | 1357 1358**返回值:** 1359 1360| 类型 | 说明 | 1361| -------- | -------- | 1362| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | Promise对象,返回特定包类型的运行进程的信息。 | 1363 1364**错误码**: 1365以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1366 1367| 错误码ID | 错误信息 | 1368| ------- | -------- | 1369| 201 | Permission denied. | 1370| 202 | Not system application. | 1371| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1372| 16000050 | Internal error. | 1373 1374 1375**示例:** 1376 1377```ts 1378import { appManager, bundleManager } from '@kit.AbilityKit'; 1379import { BusinessError } from '@kit.BasicServicesKit'; 1380 1381try { 1382 appManager.getRunningProcessInformationByBundleType(bundleManager.BundleType.ATOMIC_SERVICE) 1383 .then((data) => { 1384 console.info(`The running process information is: ${JSON.stringify(data)}`); 1385 }).catch((error: BusinessError) => { 1386 console.error(`error: ${JSON.stringify(error)}`); 1387 }); 1388} catch (paramError) { 1389 let code = (paramError as BusinessError).code; 1390 let message = (paramError as BusinessError).message; 1391 console.error(`[appManager] error: ${code}, ${message}`); 1392} 1393``` 1394 1395## appManager.preloadApplication<sup>12+</sup> 1396 1397preloadApplication(bundleName: string, userId: number, mode: PreloadMode, appIndex?: number): Promise\<void> 1398 1399预加载应用进程。接口返回成功并不代表预加载成功,具体结果以目标应用进程是否创建成功为准。使用Promise异步回调。 1400 1401**需要权限**:ohos.permission.PRELOAD_APPLICATION 1402 1403**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1404 1405**系统接口**:此接口为系统接口。 1406 1407**模型约束**:此接口仅可在Stage模型下使用。 1408 1409**参数:** 1410 1411| 参数名 | 类型 | 必填 | 说明 | 1412| -------- | -------- | -------- | -------- | 1413| bundleName | string | 是 | 预加载的应用包名。 | 1414| userId | number | 是 | 预加载的用户Id。 | 1415| mode | [PreloadMode](#appmanagerpreloadmode12) | 是 | 预加载模式。 | 1416| appIndex | number | 否 | 预加载应用分身的appIndex。 | 1417 1418**返回值:** 1419 1420| 类型 | 说明 | 1421| -------------- | ---------------- | 1422| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1423 1424**错误码**: 1425 1426 以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1427 1428| 错误码ID | 错误信息 | 1429| ------- | -------- | 1430| 201 | The application does not have permission to call the interface. | 1431| 202 | Not system application. | 1432| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1433| 16000050 | Internal error. | 1434| 16300005 | The target bundle does not exist. | 1435 1436**示例:** 1437 1438```ts 1439import { appManager } from '@kit.AbilityKit'; 1440import { BusinessError } from '@kit.BasicServicesKit'; 1441import { hilog } from '@kit.PerformanceAnalysisKit'; 1442 1443try { 1444 let bundleName = "ohos.samples.etsclock"; 1445 let userId = 100; 1446 let mode = appManager.PreloadMode.PRESS_DOWN; 1447 let appIndex = 0; 1448 appManager.preloadApplication(bundleName, userId, mode, appIndex) 1449 .then(() => { 1450 hilog.info(0x0000, 'testTag', `preloadApplication success`); 1451 }) 1452 .catch((err: BusinessError) => { 1453 hilog.error(0x0000, 'testTag', `preloadApplication error, code: ${err.code}, msg:${err.message}`); 1454 }) 1455} catch (err) { 1456 hilog.error(0x0000, 'testTag', `preloadApplication error, code: ${(err as BusinessError).code}, msg:${(err as BusinessError).message}`); 1457} 1458``` 1459 1460## appManager.getRunningMultiAppInfo<sup>12+</sup> 1461 1462getRunningMultiAppInfo(bundleName: string): Promise\<RunningMultiAppInfo> 1463 1464根据应用包名获取系统中运行态的应用多开(即在一个设备上运行多个相同的应用)的相关信息,使用Promise异步回调。 1465 1466**需要权限**:ohos.permission.GET_RUNNING_INFO 1467 1468**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1469 1470**系统接口**:此接口为系统接口。 1471 1472**模型约束**:此接口仅可在Stage模型下使用。 1473 1474**参数:** 1475 1476| 参数名 | 类型 | 必填 | 说明 | 1477| -------- | -------- | -------- | -------- | 1478| bundleName | string | 是 | 查询的应用包名。 | 1479 1480**返回值:** 1481 1482| 类型 | 说明 | 1483| -------------- | ---------------- | 1484| Promise\<[RunningMultiAppInfo](js-apis-inner-application-runningMultiAppInfo-sys.md)> | Promise对象。返回特定包名的运行态应用多开信息。 | 1485 1486**错误码**: 1487 1488 以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1489 1490| 错误码ID | 错误信息 | 1491| ------- | -------- | 1492| 201 | The application does not have permission to call the interface. | 1493| 202 | Not system application. | 1494| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1495| 16000072 | App clone or multi-instance is not supported. | 1496| 18500001 | The bundle does not exist or no patch has been applied. | 1497 1498**示例:** 1499 1500```ts 1501import { appManager } from '@kit.AbilityKit'; 1502import { hilog } from '@kit.PerformanceAnalysisKit'; 1503import { BusinessError } from '@kit.BasicServicesKit'; 1504 1505try { 1506 let bundleName = "ohos.samples.etsclock"; 1507 appManager.getRunningMultiAppInfo(bundleName).then((info: appManager.RunningMultiAppInfo) => { 1508 hilog.info(0x0000, 'testTag', `getRunningMultiAppInfo success`); 1509 }).catch((err: BusinessError) => { 1510 hilog.error(0x0000, 'testTag', `getRunningMultiAppInfo error, code: ${err.code}, msg:${err.message}`); 1511 }) 1512} catch (err) { 1513 hilog.error(0x0000, 'testTag', `getRunningMultiAppInfo error, code: ${err.code}, msg:${err.message}`); 1514} 1515``` 1516 1517## appManager.terminateMission<sup>13+</sup> 1518 1519terminateMission(missionId: number): Promise\<void> 1520 1521关闭指定的任务。使用Promise异步回调。 1522 1523**需要权限**:ohos.permission.KILL_APP_PROCESSES 1524 1525**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1526 1527**系统接口**:此接口为系统接口。 1528 1529**参数:** 1530 1531| 参数名 | 类型 | 必填 | 说明 | 1532| -------- | -------- | -------- | -------- | 1533| missionId | number | 是 | 任务ID,可通过[getMissionInfos](js-apis-app-ability-missionManager-sys.md#missionmanagergetmissioninfos)获取。 | 1534 1535**返回值:** 1536 1537| 类型 | 说明 | 1538| -------- | -------- | 1539| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1540 1541**错误码**: 1542 1543以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1544 1545| 错误码ID | 错误信息 | 1546| ------- | -------- | 1547| 201 | Permission denied. | 1548| 202 | Not System App. Interface caller is not a system app. | 1549| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1550| 16000050 | Internal error. | 1551 1552**示例:** 1553```ts 1554import { appManager } from '@kit.AbilityKit'; 1555import { BusinessError } from '@kit.BasicServicesKit'; 1556 1557@Entry 1558@Component 1559struct Index { 1560 build() { 1561 Button('start link', { type: ButtonType.Capsule, stateEffect: true }) 1562 .width('87%') 1563 .height('5%') 1564 .margin({ bottom: '12vp' }) 1565 .onClick(() => { 1566 let missionId: number = 0; 1567 try { 1568 appManager.terminateMission(missionId).then(()=>{ 1569 console.info('terminateMission success.'); 1570 }).catch((err: BusinessError)=>{ 1571 console.error('terminateMission failed. err: ' + JSON.stringify(err)); 1572 }) 1573 } catch (paramError) { 1574 let code = (paramError as BusinessError).code; 1575 let message = (paramError as BusinessError).message; 1576 console.error(`[appManager] error: ${code}, ${message}`); 1577 } 1578 }) 1579 } 1580} 1581``` 1582 1583## appManager.getSupportedProcessCachePids<sup>14+</sup> 1584 1585getSupportedProcessCachePids(bundleName : string): Promise\<Array\<number>> 1586 1587查询当前应用中支持缓存后快速启动的进程PID。 1588 1589> **说明:** 1590> 1591> 本接口仅支持获取调用者所在系统账号下的进程PID。 1592 1593**需要权限**:ohos.permission.GET_RUNNING_INFO 1594 1595**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1596 1597**系统接口**:此接口为系统接口。 1598 1599**模型约束**:此接口仅可在Stage模型下使用。 1600 1601**参数:** 1602 1603| 参数名 | 类型 | 必填 | 说明 | 1604| -------- | -------- | -------- | -------- | 1605| bundleName | string | 是 | 表示要查询的应用包名。 | 1606 1607**返回值:** 1608 1609| 类型 | 说明 | 1610| -------- | -------- | 1611| Promise\<Array\<number>> | Promise对象。返回一个数组,包含当前应用中支持缓存后快速启动的所有进程PID。 | 1612 1613**错误码**: 1614 1615以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1616 1617| 错误码ID | 错误信息 | 1618| ------- | -------- | 1619| 201 | Permission denied. | 1620| 202 | Not system application. | 1621| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1622| 801 | Capability not supported. | 1623| 16000050 | Internal error. | 1624 1625**示例:** 1626 1627```ts 1628import { appManager } from '@kit.AbilityKit'; 1629import { hilog } from '@kit.PerformanceAnalysisKit'; 1630import { BusinessError } from '@kit.BasicServicesKit'; 1631 1632try { 1633 let bundleName = "ohos.samples.processcache"; 1634 appManager.getSupportedProcessCachePids(bundleName).then((pids: Array<number>) => { 1635 hilog.info(0x0000, 'testTag', `pids: ${JSON.stringify(pids)}`); 1636 }).catch((err: BusinessError) => { 1637 hilog.error(0x0000, 'testTag', `get pids error, code: ${err.code}, msg:${err.message}`); 1638 }) 1639} catch (err) { 1640 hilog.error(0x0000, 'testTag', `get pids error, code: ${err.code}, msg:${err.message}`); 1641} 1642``` 1643 1644## appManager.clearUpAppData<sup>13+</sup> 1645 1646clearUpAppData(bundleName: string, appCloneIndex?: number): Promise\<void> 1647 1648根据Bundle名称和应用分身索引,清除指定应用的数据。 1649 1650**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 1651 1652**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1653 1654**系统接口**:此接口为系统接口。 1655 1656**参数:** 1657 1658| 参数名 | 类型 | 必填 | 说明 | 1659| -------- | -------- | -------- | -------- | 1660| bundleName | string | 是 | 表示Bundle名称。 | 1661| appCloneIndex | number | 否 | 表示应用分身索引。 | 1662 1663**返回值:** 1664 1665| 类型 | 说明 | 1666| -------- | -------- | 1667| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1668 1669**错误码**: 1670 1671以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1672 1673| 错误码ID | 错误信息 | 1674| ------- | -------- | 1675| 201 | Permission denied. | 1676| 202 | Not System App. Interface caller is not a system app. | 1677| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1678| 16000050 | Internal error. | 1679| 16000073 | The app clone index is invalid. | 1680 1681**示例:** 1682 1683```ts 1684import { appManager } from '@kit.AbilityKit'; 1685import { BusinessError } from '@kit.BasicServicesKit'; 1686 1687let bundleName: string = 'com.ohos.demo'; 1688let appCloneIndex: number = 0; 1689 1690try { 1691 appManager.clearUpAppData(bundleName, appCloneIndex).then(() => { 1692 console.info(`clearUpAppData success.`); 1693 }).catch((err: BusinessError) => { 1694 console.error(`clearUpAppData fail, err: ${JSON.stringify(err)}`); 1695 }); 1696} catch (paramError) { 1697 let code = (paramError as BusinessError).code; 1698 let message = (paramError as BusinessError).message; 1699 console.error(`[appManager] error: ${code}, ${message}`); 1700} 1701``` 1702 1703## appManager.setKeepAliveForBundle<sup>14+</sup> 1704 1705setKeepAliveForBundle(bundleName: string, userId: number, enable: boolean): Promise\<void> 1706 1707为指定用户下的应用设置或取消保活。使用Promise异步回调。 1708 1709> **说明:** 1710> 1711>- 应用如果需要支持保活,其[module.json5配置文件](../../quick-start/module-configuration-file.md)中的mainElement必须是UIAbility。只有当mainElement启动后,系统才会执行应用保活操作。 1712>- 在2in1设备上,被保活的应用需要在启动后5秒内添加至状态栏。否则,系统将取消该应用的保活设置,并杀死保活重启的进程。 1713>- 当被保活的应用进程退出时,系统将尝试重启该进程,连续3次重启失败后将不再继续重启。 1714 1715**需要权限**:ohos.permission.MANAGE_APP_KEEP_ALIVE 1716 1717**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1718 1719**设备行为差异**:从API version 18开始,该接口仅在2in1和Wearable设备上生效。对于API version 18之前版本,该接口仅在2in1设备上生效。其他情况下调用该接口将返回错误码801。 1720 1721**系统接口**:此接口为系统接口。 1722 1723**参数:** 1724 1725| 参数名 | 类型 | 必填 | 说明 | 1726| -------- | -------- | -------- | -------- | 1727| bundleName | string | 是 | 表示要设置保活的应用包名。 | 1728| userId | number | 是 | 表示要设置保活应用所属的用户ID。 | 1729| enable | boolean | 是 | 表示对应用保活或者取消保活。true表示对应用保活,false表示对应用取消保活。 | 1730 1731**返回值:** 1732 1733| 类型 | 说明 | 1734| -------- | -------- | 1735| Promise\<void> | Promise对象。无返回结果的Promise对象。| 1736 1737**错误码**: 1738 1739以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1740 1741| 错误码ID | 错误信息 | 1742| ------- | -------- | 1743| 201 | Permission denied. | 1744| 202 | Not system application. | 1745| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1746| 801 | Capability not supported. | 1747| 16000050 | Internal error. | 1748| 16300005 | The target bundle does not exist. | 1749| 16300008 | The target bundle has no MainAbility. | 1750| 16300009 | The target bundle has no status-bar ability. | 1751| 16300010 | The target application is not attached to the status bar. | 1752 1753**示例:** 1754 1755```ts 1756import { appManager } from '@kit.AbilityKit'; 1757import { BusinessError } from '@kit.BasicServicesKit'; 1758 1759try { 1760 let bundleName = "ohos.samples.keepaliveapp"; 1761 let userId = 100; 1762 appManager.setKeepAliveForBundle(bundleName, userId, true).then(() => { 1763 console.info(`setKeepAliveForBundle success`); 1764 }).catch((err: BusinessError) => { 1765 console.error(`setKeepAliveForBundle fail, err: ${JSON.stringify(err)}`); 1766 }); 1767} catch (paramError) { 1768 let code = (paramError as BusinessError).code; 1769 let message = (paramError as BusinessError).message; 1770 console.error(`[appManager] setKeepAliveForBundle error: ${code}, ${message}`); 1771} 1772``` 1773 1774## appManager.getKeepAliveBundles<sup>14+</sup> 1775 1776getKeepAliveBundles(type: KeepAliveAppType, userId?: number): Promise\<Array\<KeepAliveBundleInfo>> 1777 1778获取指定用户下指定类型的保活应用信息。该应用信息由[KeepAliveBundleInfo](#keepalivebundleinfo14)定义。 1779使用Promise异步回调。 1780 1781**需要权限**:ohos.permission.MANAGE_APP_KEEP_ALIVE 1782 1783**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1784 1785**设备行为差异**:该接口在PC/2in1中可正常调用,在其他设备类型中返回801错误码。 1786 1787**系统接口**:此接口为系统接口。 1788 1789**参数:** 1790 1791| 参数名 | 类型 | 必填 | 说明 | 1792| -------- | -------- | -------- | -------- | 1793| type | [KeepAliveAppType](#keepaliveapptype14) | 是 | 表示要查询的保活应用类型。 | 1794| userId | number | 否 | 表示要设置保活应用所属的用户ID。 | 1795 1796**返回值:** 1797 1798| 类型 | 说明 | 1799| -------- | -------- | 1800| Promise\<Array\<[KeepAliveBundleInfo](#keepalivebundleinfo14)>> | Promise对象,返回用户保活应用信息的数组。| 1801 1802**错误码**: 1803 1804以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1805 1806| 错误码ID | 错误信息 | 1807| ------- | -------- | 1808| 201 | Permission denied. | 1809| 202 | Not System App. Interface caller is not a system app. | 1810| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1811| 801 | Capability not supported. | 1812| 16000050 | Internal error. | 1813 1814**示例:** 1815 1816```ts 1817import { appManager } from '@kit.AbilityKit'; 1818import { BusinessError } from '@kit.BasicServicesKit'; 1819 1820let userId = 100; 1821let type: appManager.KeepAliveAppType = appManager.KeepAliveAppType.THIRD_PARTY; 1822try { 1823 appManager.getKeepAliveBundles(type, userId).then((data) => { 1824 console.info(`getKeepAliveBundles success, data: ${JSON.stringify(data)}`); 1825 }).catch((err: BusinessError) => { 1826 console.error(`getKeepAliveBundles fail, err: ${JSON.stringify(err)}`); 1827 }); 1828} catch (paramError) { 1829 let code = (paramError as BusinessError).code; 1830 let message = (paramError as BusinessError).message; 1831 console.error(`[appManager] getKeepAliveBundles error: ${code}, ${message}`); 1832} 1833``` 1834 1835 1836## appManager.killProcessesInBatch<sup>14+</sup> 1837 1838killProcessesInBatch(pids: Array\<number>): Promise\<void> 1839 1840批量查杀进程。 1841 1842**需要权限**:ohos.permission.KILL_APP_PROCESSES 1843 1844**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1845 1846**设备行为差异**:该接口在PC/2in1中可正常调用,在其他设备类型中返回801错误码。 1847 1848**系统接口**:此接口为系统接口。 1849 1850**参数:** 1851 1852| 参数名 | 类型 | 必填 | 说明 | 1853| -------- | -------- | -------- | -------- | 1854| pids | Array\<number> | 是 | 要查杀的进程ID。 | 1855 1856**返回值:** 1857 1858| 类型 | 说明 | 1859| -------- | -------- | 1860| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1861 1862**错误码**: 1863 1864以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1865 1866| 错误码ID | 错误信息 | 1867| ------- | -------- | 1868| 201 | Permission denied. | 1869| 202 | Not System App. Interface caller is not a system app. | 1870| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1871| 801 | Capability not supported. | 1872| 16000050 | Internal error. | 1873 1874**示例:** 1875 1876```ts 1877import { appManager } from '@kit.AbilityKit'; 1878import { BusinessError } from '@kit.BasicServicesKit'; 1879 1880try { 1881 let pids: Array<number> = [100, 101, 102]; 1882 appManager.killProcessesInBatch(pids).then(() => { 1883 console.info(`killProcessesInBatch success`); 1884 }).catch((err: BusinessError) => { 1885 console.error(`killProcessesInBatch fail, err: ${JSON.stringify(err)}`); 1886 }); 1887} catch (paramError) { 1888 let code = (paramError as BusinessError).code; 1889 let message = (paramError as BusinessError).message; 1890 console.error(`[appManager] killProcessesInBatch error: ${code}, ${message}`); 1891} 1892``` 1893 1894## appManager.setKeepAliveForAppServiceExtension<sup>20+</sup> 1895 1896setKeepAliveForAppServiceExtension(bundleName: string, enabled: boolean): Promise\<void> 1897 1898为AppServiceExtensionAbility设置保活或取消保活。使用Promise异步回调。 1899> **说明:** 1900> 1901> - 仅当应用安装在userId为1的用户下,且应用中entry类型的HAP的module.json5配置文件中的mainElement字段配置为AppServiceExtensionAbility时,该接口才生效。 1902 1903**需要权限**:ohos.permission.MANAGE_APP_KEEP_ALIVE 1904 1905**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1906 1907**设备行为差异**:该接口在PC/2in1中可正常调用,在其他设备类型中返回801错误码。 1908 1909**系统接口**:此接口为系统接口。 1910 1911**参数:** 1912 1913| 参数名 | 类型 | 必填 | 说明 | 1914| -------- | -------- | -------- | -------- | 1915| bundleName | string | 是 | 表示要设置保活的应用包名。 | 1916| enabled | boolean | 是 | 表示是否进行应用保活。true表示保活,false表示不保活。 | 1917 1918**返回值:** 1919 1920| 类型 | 说明 | 1921| -------- | -------- | 1922| Promise\<void> | Promise对象。无返回结果的Promise对象。| 1923 1924**错误码**: 1925 1926以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1927 1928| 错误码ID | 错误信息 | 1929| ------- | -------- | 1930| 201 | Permission denied. | 1931| 202 | Not system application. | 1932| 801 | Capability not supported. | 1933| 16000050 | Internal error. | 1934| 16000081 | Failed to obtain the target application information. | 1935| 16000202 | Invalid main element type. | 1936| 16000203 | Cannot change the keep-alive status. | 1937| 16000204 | The target bundle is not in u1. | 1938 1939**示例:** 1940 1941```ts 1942import { appManager } from '@kit.AbilityKit'; 1943import { BusinessError } from '@kit.BasicServicesKit'; 1944 1945try { 1946 let bundleName = "ohos.samples.keepaliveapp"; 1947 appManager.setKeepAliveForAppServiceExtension(bundleName, true).then(() => { 1948 console.info(`setKeepAliveForAppServiceExtension success`); 1949 }).catch((err: BusinessError) => { 1950 console.error(`setKeepAliveForAppServiceExtension fail, err: ${JSON.stringify(err)}`); 1951 }); 1952} catch (paramError) { 1953 let code = (paramError as BusinessError).code; 1954 let message = (paramError as BusinessError).message; 1955 console.error(`[appManager] setKeepAliveForAppServiceExtension error: ${code}, ${message}`); 1956} 1957``` 1958 1959## appManager.getKeepAliveAppServiceExtensions<sup>20+</sup> 1960 1961getKeepAliveAppServiceExtensions(): Promise\<Array\<KeepAliveBundleInfo>> 1962 1963获取所有保活的AppServiceExtensionAbility应用信息,此信息由[KeepAliveBundleInfo](#keepalivebundleinfo14)定义。使用Promise异步回调。 1964 1965 1966**需要权限**:ohos.permission.MANAGE_APP_KEEP_ALIVE 1967 1968**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1969 1970**设备行为差异**:该接口在PC/2in1中可正常调用,在其他设备类型中返回801错误码。 1971 1972**系统接口**:此接口为系统接口。 1973 1974**返回值:** 1975 1976| 类型 | 说明 | 1977| -------- | -------- | 1978| Promise\<Array\<[KeepAliveBundleInfo](#keepalivebundleinfo14)>> | Promise对象,返回用户保活应用信息的数组。| 1979 1980**错误码**: 1981 1982以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1983 1984| 错误码ID | 错误信息 | 1985| ------- | -------- | 1986| 201 | Permission denied. | 1987| 202 | Not system application. | 1988| 801 | Capability not supported. | 1989| 16000050 | Internal error. | 1990 1991**示例:** 1992 1993```ts 1994import { appManager } from '@kit.AbilityKit'; 1995import { BusinessError } from '@kit.BasicServicesKit'; 1996 1997try { 1998 appManager.getKeepAliveAppServiceExtensions().then((data) => { 1999 console.info(`getKeepAliveAppServiceExtensions success, data: ${JSON.stringify(data)}`); 2000 }).catch((err: BusinessError) => { 2001 console.error(`getKeepAliveAppServiceExtensions fail, err: ${JSON.stringify(err)}`); 2002 }); 2003} catch (paramError) { 2004 let code = (paramError as BusinessError).code; 2005 let message = (paramError as BusinessError).message; 2006 console.error(`[appManager] getKeepAliveAppServiceExtensions error: ${code}, ${message}`); 2007} 2008``` 2009 2010## AppForegroundStateObserver<sup>11+</sup> 2011 2012type AppForegroundStateObserver = _AppForegroundStateObserver 2013 2014应用启动和退出的状态监听。 2015 2016**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 2017 2018| 类型 | 说明 | 2019| --- | --- | 2020| [_AppForegroundStateObserver](js-apis-inner-application-appForegroundStateObserver-sys.md) | 应用启动和退出的状态监听。 | 2021 2022## AbilityFirstFrameStateObserver<sup>12+</sup> 2023 2024type AbilityFirstFrameStateObserver = _AbilityFirstFrameStateObserver 2025 2026UIAbility首帧绘制完成事件监听对象。 2027 2028**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 2029 2030| 类型 | 说明 | 2031| --- | --- | 2032| [_AbilityFirstFrameStateObserver](js-apis-inner-application-abilityFirstFrameStateData-sys.md) | UIAbility首帧绘制完成事件监听对象。 | 2033 2034## AbilityFirstFrameStateData<sup>12+</sup> 2035 2036type AbilityFirstFrameStateData = _AbilityFirstFrameStateData 2037 2038UIAbility首帧绘制完成回调上报数据结构。 2039 2040**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 2041 2042| 类型 | 说明 | 2043| --- | --- | 2044| [_AbilityFirstFrameStateData](js-apis-inner-application-abilityFirstFrameStateData-sys.md) | UIAbility首帧绘制完成回调上报数据结构。 | 2045 2046## RunningMultiAppInfo<sup>12+</sup> 2047 2048type RunningMultiAppInfo = _RunningMultiAppInfo 2049 2050应用多开在运行态的结构信息。 2051 2052**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 2053 2054| 类型 | 说明 | 2055| --- | --- | 2056| [_RunningMultiAppInfo](js-apis-inner-application-runningMultiAppInfo-sys.md) | 应用多开在运行态的结构信息。 | 2057