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