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.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以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 814 815| 错误码ID | 错误信息 | 816| ------- | -------- | 817| 201 | Permission denied. | 818| 202 | Not System App. Interface caller is not a system app. | 819| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 820| 16000050 | Internal error. | 821 822**示例:** 823 824```ts 825import { appManager } from '@kit.AbilityKit'; 826import { BusinessError } from '@kit.BasicServicesKit'; 827 828let bundleName = 'bundleName'; 829let accountId = 0; 830 831try { 832 appManager.killProcessWithAccount(bundleName, accountId).then(() => { 833 console.log('killProcessWithAccount success'); 834 }).catch((err: BusinessError) => { 835 console.error(`killProcessWithAccount fail, err: ${JSON.stringify(err)}`); 836 }); 837} catch (paramError) { 838 let code = (paramError as BusinessError).code; 839 let message = (paramError as BusinessError).message; 840 console.error(`[appManager] error: ${code}, ${message}`); 841} 842``` 843 844 845## appManager.killProcessWithAccount 846 847killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void 848 849切断account进程(callback形式)。 850 851> **说明:** 852> 853> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 854 855**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES 856 857**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 858 859**系统API**: 此接口为系统接口,三方应用不支持调用。 860 861**参数:** 862 863 | 参数名 | 类型 | 必填 | 说明 | 864 | -------- | -------- | -------- | -------- | 865 | bundleName | string | 是 | 应用Bundle名称。 | 866 | accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountLocalId](../apis-basic-services-kit/js-apis-osAccount.md#getosaccountlocalid9)。 | 867 | callback | AsyncCallback\<void\> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 868 869**错误码**: 870 871以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 872 873| 错误码ID | 错误信息 | 874| ------- | -------- | 875| 201 | Permission denied. | 876| 202 | Not System App. Interface caller is not a system app. | 877| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 878| 16000050 | Internal error. | 879 880**示例:** 881 882```ts 883import { appManager } from '@kit.AbilityKit'; 884import { BusinessError } from '@kit.BasicServicesKit'; 885 886let bundleName = 'bundleName'; 887let accountId = 0; 888 889function killProcessWithAccountCallback(err: BusinessError) { 890 if (err) { 891 console.error(`killProcessWithAccountCallback fail, err: ${JSON.stringify(err)}`); 892 } else { 893 console.log('killProcessWithAccountCallback success.'); 894 } 895} 896 897appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback); 898``` 899 900## appManager.killProcessesByBundleName 901 902killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>) 903 904通过Bundle名称终止进程。 905 906**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES 907 908**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 909 910**系统API**:该接口为系统接口,三方应用不支持调用。 911 912**参数:** 913 914| 参数名 | 类型 | 必填 | 说明 | 915| -------- | -------- | -------- | -------- | 916| bundleName | string | 是 | 表示Bundle名称。 | 917| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 918 919**错误码**: 920 921以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 922 923| 错误码ID | 错误信息 | 924| ------- | -------- | 925| 201 | Permission denied. | 926| 202 | Not System App. Interface caller is not a system app. | 927| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 928| 16000050 | Internal error. | 929 930**示例:** 931 932```ts 933import { appManager } from '@kit.AbilityKit'; 934import { BusinessError } from '@kit.BasicServicesKit'; 935 936let bundleName = 'bundleName'; 937 938function killProcessesByBundleNameCallback(err: BusinessError) { 939 if (err) { 940 console.error(`killProcessesByBundleNameCallback fail, err: ${JSON.stringify(err)}`); 941 } else { 942 console.log('killProcessesByBundleNameCallback success.'); 943 } 944} 945 946try { 947 appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback); 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.killProcessesByBundleName 956 957killProcessesByBundleName(bundleName: string): Promise\<void> 958 959通过Bundle名称终止进程。 960 961**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES 962 963**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 964 965**系统API**:该接口为系统接口,三方应用不支持调用。 966 967**参数:** 968 969| 参数名 | 类型 | 必填 | 说明 | 970| -------- | -------- | -------- | -------- | 971| bundleName | string | 是 | 表示Bundle名称。 | 972 973**返回值:** 974 975| 类型 | 说明 | 976| -------- | -------- | 977| Promise\<void> | 返回执行结果。 | 978 979**错误码**: 980 981以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 982 983| 错误码ID | 错误信息 | 984| ------- | -------- | 985| 201 | Permission denied. | 986| 202 | Not System App. Interface caller is not a system app. | 987| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 988| 16000050 | Internal error. | 989 990**示例:** 991 992```ts 993import { appManager } from '@kit.AbilityKit'; 994import { BusinessError } from '@kit.BasicServicesKit'; 995 996let bundleName = 'bundleName'; 997 998try { 999 appManager.killProcessesByBundleName(bundleName).then((data) => { 1000 console.log('killProcessesByBundleName success.'); 1001 }).catch((err: BusinessError) => { 1002 console.error(`killProcessesByBundleName fail, err: ${JSON.stringify(err)}`); 1003 }); 1004} catch (paramError) { 1005 let code = (paramError as BusinessError).code; 1006 let message = (paramError as BusinessError).message; 1007 console.error(`[appManager] error: ${code}, ${message}`); 1008} 1009``` 1010 1011## appManager.clearUpApplicationData 1012 1013clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>) 1014 1015通过Bundle名称清除应用数据。 1016 1017**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 1018 1019**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1020 1021**系统API**:该接口为系统接口,三方应用不支持调用。 1022 1023**参数:** 1024 1025| 参数名 | 类型 | 必填 | 说明 | 1026| -------- | -------- | -------- | -------- | 1027| bundleName | string | 是 | 表示Bundle名称。 | 1028| callback | AsyncCallback\<void> | 是 | 以回调方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 1029 1030**错误码**: 1031 1032以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1033 1034| 错误码ID | 错误信息 | 1035| ------- | -------- | 1036| 201 | Permission denied. | 1037| 202 | Not System App. Interface caller is not a system app. | 1038| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1039| 16000050 | Internal error. | 1040 1041**示例:** 1042 1043```ts 1044import { appManager } from '@kit.AbilityKit'; 1045import { BusinessError } from '@kit.BasicServicesKit'; 1046 1047let bundleName = 'bundleName'; 1048 1049function clearUpApplicationDataCallback(err: BusinessError) { 1050 if (err) { 1051 console.error(`clearUpApplicationDataCallback fail, err: ${JSON.stringify(err)}`); 1052 } else { 1053 console.log('clearUpApplicationDataCallback success.'); 1054 } 1055} 1056 1057try { 1058 appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback); 1059} catch (paramError) { 1060 let code = (paramError as BusinessError).code; 1061 let message = (paramError as BusinessError).message; 1062 console.error(`[appManager] error: ${code}, ${message}`); 1063} 1064``` 1065 1066## appManager.clearUpApplicationData 1067 1068clearUpApplicationData(bundleName: string): Promise\<void> 1069 1070通过Bundle名称清除应用数据。 1071 1072**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 1073 1074**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1075 1076**系统API**:该接口为系统接口,三方应用不支持调用。 1077 1078**参数:** 1079 1080| 参数名 | 类型 | 必填 | 说明 | 1081| -------- | -------- | -------- | -------- | 1082| bundleName | string | 是 | 表示Bundle名称。 | 1083 1084**返回值:** 1085 1086| 类型 | 说明 | 1087| -------- | -------- | 1088| Promise\<void> | 以Promise方式返回接口运行结果,可进行错误处理或其他自定义处理。 | 1089 1090**错误码**: 1091 1092以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1093 1094| 错误码ID | 错误信息 | 1095| ------- | -------- | 1096| 201 | Permission denied. | 1097| 202 | Not System App. Interface caller is not a system app. | 1098| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1099| 16000050 | Internal error. | 1100 1101**示例:** 1102 1103```ts 1104import { appManager } from '@kit.AbilityKit'; 1105import { BusinessError } from '@kit.BasicServicesKit'; 1106 1107let bundleName = 'bundleName'; 1108 1109try { 1110 appManager.clearUpApplicationData(bundleName).then((data) => { 1111 console.log('clearUpApplicationData success.'); 1112 }).catch((err: BusinessError) => { 1113 console.error(`clearUpApplicationData fail, err: ${JSON.stringify(err)}`); 1114 }); 1115} catch (paramError) { 1116 let code = (paramError as BusinessError).code; 1117 let message = (paramError as BusinessError).message; 1118 console.error(`[appManager] error: ${code}, ${message}`); 1119} 1120``` 1121 1122## appManager.getProcessMemoryByPid<sup>10+</sup> 1123 1124getProcessMemoryByPid(pid: number, callback: AsyncCallback\<number>): void 1125 1126通过pid查询对应进程占用的内存大小。 1127 1128**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1129 1130**系统API**:此接口为系统接口。 1131 1132**参数:** 1133 1134| 参数名 | 类型 | 必填 | 说明 | 1135| -------- | -------- | -------- | -------- | 1136| pid | number | 是 | 表示进程id,详情参考[getRunningProcessInfoByBundleName](#appmanagergetrunningprocessinfobybundlename10)。 | 1137| callback | AsyncCallback\<number> | 是 | 以回调方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。 | 1138 1139**错误码**: 1140 1141以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1142 1143| 错误码ID | 错误信息 | 1144| ------- | -------- | 1145| 202 | Not System App. Interface caller is not a system app. | 1146| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1147| 16000050 | Internal error. | 1148 1149**示例:** 1150 1151```ts 1152import { appManager } from '@kit.AbilityKit'; 1153import { BusinessError } from '@kit.BasicServicesKit'; 1154 1155let pid = 0; 1156function getProcessMemoryByPidCallback(err: BusinessError, data: number) { 1157 if (err) { 1158 console.error(`getProcessMemoryByPidCallback fail, err: ${JSON.stringify(err)}`); 1159 } else { 1160 console.log('getProcessMemoryByPidCallback success.'); 1161 } 1162} 1163 1164try { 1165 appManager.getProcessMemoryByPid(pid, getProcessMemoryByPidCallback); 1166} catch (paramError) { 1167 let code = (paramError as BusinessError).code; 1168 let message = (paramError as BusinessError).message; 1169 console.error(`[appManager] error: ${code}, ${message}`); 1170} 1171``` 1172 1173## appManager.getProcessMemoryByPid<sup>10+</sup> 1174 1175getProcessMemoryByPid(pid: number): Promise\<number> 1176 1177通过pid查询对应进程占用的内存大小。 1178 1179**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1180 1181**系统API**:此接口为系统接口。 1182 1183**参数:** 1184 1185| 参数名 | 类型 | 必填 | 说明 | 1186| -------- | -------- | -------- | -------- | 1187| pid | number | 是 | 表示进程id,详情参考[getRunningProcessInfoByBundleName](#appmanagergetrunningprocessinfobybundlename10)。 | 1188 1189**返回值:** 1190 1191| 类型 | 说明 | 1192| -------- | -------- | 1193| Promise\<number> | 以Promise方式返回接口运行结果及进程占用的内存大小(单位KB),可进行错误处理或其他自定义处理。 | 1194 1195**错误码**: 1196 1197以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1198 1199| 错误码ID | 错误信息 | 1200| ------- | -------- | 1201| 202 | Not System App. Interface caller is not a system app. | 1202| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1203| 16000050 | Internal error. | 1204 1205**示例:** 1206 1207```ts 1208import { appManager } from '@kit.AbilityKit'; 1209import { BusinessError } from '@kit.BasicServicesKit'; 1210 1211let pid = 0; 1212 1213try { 1214 appManager.getProcessMemoryByPid(pid).then((data) => { 1215 console.log('getProcessMemoryByPid success.'); 1216 }).catch((err: BusinessError) => { 1217 console.error(`getProcessMemoryByPid fail, err: ${JSON.stringify(err)}`); 1218 }); 1219} catch (paramError) { 1220 let code = (paramError as BusinessError).code; 1221 let message = (paramError as BusinessError).message; 1222 console.error(`[appManager] error: ${code}, ${message}`); 1223} 1224``` 1225 1226## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1227 1228getRunningProcessInfoByBundleName(bundleName: string, callback: AsyncCallback\<Array\<ProcessInformation>>): void 1229 1230通过bundleName获取有关运行进程的信息。 1231 1232**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1233 1234**系统API**:此接口为系统接口。 1235 1236**参数:** 1237 1238| 参数名 | 类型 | 必填 | 说明 | 1239| -------- | -------- | -------- | -------- | 1240| bundleName | string | 是 | 表示Bundle名称。 | 1241| callback | AsyncCallback\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 是 | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1242 1243**错误码**: 1244 1245以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1246 1247| 错误码ID | 错误信息 | 1248| ------- | -------- | 1249| 202 | Not System App. Interface caller is not a system app. | 1250| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1251| 16000050 | Internal error. | 1252 1253**示例:** 1254 1255```ts 1256import { appManager } from '@kit.AbilityKit'; 1257import { BusinessError } from '@kit.BasicServicesKit'; 1258 1259let bundleName = "bundleName"; 1260function getRunningProcessInfoByBundleNameCallback(err: BusinessError, data: Array<appManager.ProcessInformation>) { 1261 if (err) { 1262 console.error(`getRunningProcessInfoByBundleNameCallback fail, err: ${JSON.stringify(err)}`); 1263 } else { 1264 console.log('getRunningProcessInfoByBundleNameCallback success.'); 1265 } 1266} 1267 1268try { 1269 appManager.getRunningProcessInfoByBundleName(bundleName, getRunningProcessInfoByBundleNameCallback); 1270} catch (paramError) { 1271 let code = (paramError as BusinessError).code; 1272 let message = (paramError as BusinessError).message; 1273 console.error(`[appManager] error: ${code}, ${message}`); 1274} 1275``` 1276 1277## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1278 1279getRunningProcessInfoByBundleName(bundleName: string): Promise\<Array\<ProcessInformation>> 1280 1281通过bundleName获取有关运行进程的信息。 1282 1283**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1284 1285**系统API**:此接口为系统接口。 1286 1287**参数:** 1288 1289| 参数名 | 类型 | 必填 | 说明 | 1290| -------- | -------- | -------- | -------- | 1291| bundleName | string | 是 | 表示Bundle名称。 | 1292 1293**返回值:** 1294 1295| 类型 | 说明 | 1296| -------- | -------- | 1297| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1298 1299**错误码**: 1300 1301以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1302 1303| 错误码ID | 错误信息 | 1304| ------- | -------- | 1305| 202 | Not System App. Interface caller is not a system app. | 1306| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1307| 16000050 | Internal error. | 1308 1309**示例:** 1310 1311```ts 1312import { appManager } from '@kit.AbilityKit'; 1313import { BusinessError } from '@kit.BasicServicesKit'; 1314 1315let bundleName = "bundleName"; 1316 1317try { 1318 appManager.getRunningProcessInfoByBundleName(bundleName).then((data) => { 1319 console.log('getRunningProcessInfoByBundleName success.'); 1320 }).catch((err: BusinessError) => { 1321 console.error(`getRunningProcessInfoByBundleName fail, err: ${JSON.stringify(err)}`); 1322 }); 1323} catch (paramError) { 1324 let code = (paramError as BusinessError).code; 1325 let message = (paramError as BusinessError).message; 1326 console.error(`[appManager] error: ${code}, ${message}`); 1327} 1328``` 1329 1330## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1331 1332getRunningProcessInfoByBundleName(bundleName: string, userId: number, callback: AsyncCallback\<Array\<ProcessInformation>>): void 1333 1334通过bundleName和userId获取有关运行进程的信息。 1335 1336**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1337 1338**系统API**:此接口为系统接口。 1339 1340**参数:** 1341 1342| 参数名 | 类型 | 必填 | 说明 | 1343| -------- | -------- | -------- | -------- | 1344| bundleName | string | 是 | 表示Bundle名称。 | 1345| userId | number | 是 | 表示用户Id。 | 1346| callback | AsyncCallback\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 是 | 以回调方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1347 1348**错误码**: 1349 1350以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1351 1352| 错误码ID | 错误信息 | 1353| ------- | -------- | 1354| 202 | Not System App. Interface caller is not a system app. | 1355| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1356| 16000050 | Internal error. | 1357 1358**示例:** 1359 1360```ts 1361import { appManager } from '@kit.AbilityKit'; 1362import { BusinessError } from '@kit.BasicServicesKit'; 1363 1364let bundleName = "bundleName"; 1365let userId = 0; 1366function getRunningProcessInfoByBundleNameCallback(err: BusinessError, data: Array<appManager.ProcessInformation>) { 1367 if (err) { 1368 console.error(`getRunningProcessInfoByBundleNameCallback fail, err: ${JSON.stringify(err)}`); 1369 } else { 1370 console.log('getRunningProcessInfoByBundleNameCallback success.'); 1371 } 1372} 1373 1374try { 1375 appManager.getRunningProcessInfoByBundleName(bundleName, userId, getRunningProcessInfoByBundleNameCallback); 1376} catch (paramError) { 1377 let code = (paramError as BusinessError).code; 1378 let message = (paramError as BusinessError).message; 1379 console.error(`[appManager] error: ${code}, ${message}`); 1380} 1381``` 1382 1383## appManager.getRunningProcessInfoByBundleName<sup>10+</sup> 1384 1385getRunningProcessInfoByBundleName(bundleName: string, userId: number): Promise\<Array\<ProcessInformation>> 1386 1387通过bundleName和userId获取有关运行进程的信息。 1388 1389**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1390 1391**系统API**:此接口为系统接口。 1392 1393**参数:** 1394 1395| 参数名 | 类型 | 必填 | 说明 | 1396| -------- | -------- | -------- | -------- | 1397| bundleName | string | 是 | 表示Bundle名称。 | 1398| userId | number | 是 | 表示用户Id。 | 1399 1400**返回值:** 1401 1402| 类型 | 说明 | 1403| -------- | -------- | 1404| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | 以Promise方式返回接口运行结果及有关运行进程的信息,可进行错误处理或其他自定义处理。 | 1405 1406**错误码**: 1407 1408以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1409 1410| 错误码ID | 错误信息 | 1411| ------- | -------- | 1412| 202 | Not System App. Interface caller is not a system app. | 1413| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1414| 16000050 | Internal error. | 1415 1416**示例:** 1417 1418```ts 1419import { appManager } from '@kit.AbilityKit'; 1420import { BusinessError } from '@kit.BasicServicesKit'; 1421 1422let bundleName = "bundleName"; 1423let userId = 0; 1424 1425try { 1426 appManager.getRunningProcessInfoByBundleName(bundleName, userId).then((data) => { 1427 console.log('getRunningProcessInfoByBundleName success.'); 1428 }).catch((err: BusinessError) => { 1429 console.error(`getRunningProcessInfoByBundleName fail, err: ${JSON.stringify(err)}`); 1430 }); 1431} catch (paramError) { 1432 let code = (paramError as BusinessError).code; 1433 let message = (paramError as BusinessError).message; 1434 console.error(`[appManager] error: ${code}, ${message}`); 1435} 1436``` 1437 1438## appManager.isApplicationRunning<sup>11+</sup> 1439 1440isApplicationRunning(bundleName: string): Promise\<boolean> 1441 1442查询单个应用是否正在运行。使用Promise异步回调。 1443 1444**系统接口**:此接口为系统接口。 1445 1446**需要权限**:ohos.permission.GET_RUNNING_INFO 1447 1448**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1449 1450**参数**: 1451 1452| 参数名 | 类型 | 必填 | 说明 | 1453| --------- | ---------------------------------------- | ---- | -------------- | 1454| bundleName | string | 是 | 表示要查询的应用的包名。 | 1455 1456**返回值:** 1457 1458| 类型 | 说明 | 1459| -------- | -------- | 1460| Promise\<boolean> | Promise对象。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。 | 1461 1462**错误码**: 1463 1464以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1465 1466| 错误码ID | 错误信息 | 1467| ------- | -------- | 1468| 201 | Permission denied. | 1469| 202 | Not System App. Interface caller is not a system app. | 1470| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1471| 16000050 | Internal error. | 1472 1473**示例:** 1474 1475```ts 1476import { appManager } from '@kit.AbilityKit'; 1477import { BusinessError } from '@kit.BasicServicesKit'; 1478 1479let bundleName = "com.example.myapplication"; 1480 1481appManager.isApplicationRunning(bundleName).then((data) => { 1482 console.log(`The application running is: ${JSON.stringify(data)}`); 1483}).catch((error: BusinessError) => { 1484 console.error(`error: ${JSON.stringify(error)}`); 1485}); 1486``` 1487 1488## appManager.isApplicationRunning<sup>11+</sup> 1489 1490isApplicationRunning(bundleName: string, callback: AsyncCallback\<boolean>): void 1491 1492查询单个应用是否正在运行。使用callback异步回调。 1493 1494**系统接口**:此接口为系统接口。 1495 1496**需要权限**:ohos.permission.GET_RUNNING_INFO 1497 1498**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1499 1500**参数**: 1501 1502| 参数名 | 类型 | 必填 | 说明 | 1503| --------- | ---------------------------------------- | ---- | -------------- | 1504| bundleName | string | 是 | 表示要查询的共享库包名。 | 1505| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示查询的应用正在运行,返回false表示查询的应用没有运行。 | 1506 1507**错误码**: 1508 1509以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1510 1511| 错误码ID | 错误信息 | 1512| ------- | -------- | 1513| 201 | Permission denied. | 1514| 202 | Not System App. Interface caller is not a system app. | 1515| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1516| 16000050 | Internal error. | 1517 1518**示例:** 1519 1520```ts 1521import { appManager } from '@kit.AbilityKit'; 1522import { BusinessError } from '@kit.BasicServicesKit'; 1523 1524let bundleName = "com.example.myapplication"; 1525 1526try { 1527 appManager.isApplicationRunning(bundleName, (err, data) => { 1528 if (err) { 1529 console.error(`err: ${JSON.stringify(err)}`); 1530 } else { 1531 console.log(`The application running is: ${JSON.stringify(data)}`); 1532 } 1533 }); 1534} catch (paramError) { 1535 let code = (paramError as BusinessError).code; 1536 let message = (paramError as BusinessError).message; 1537 console.error(`[appManager] error: ${code}, ${message}`); 1538} 1539``` 1540 1541## ApplicationState 1542 1543应用状态,该类型为枚举,可配合[AbilityStateData](js-apis-inner-application-appStateData-sys.md)返回相应的应用状态。 1544 1545**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1546 1547**系统API**: 此接口为系统接口,三方应用不支持调用。 1548 1549| 名称 | 值 | 说明 | 1550| -------------------- | --- | --------------------------------- | 1551| STATE_CREATE | 0 | 应用处于创建状态。 | 1552| STATE_FOREGROUND | 2 | 应用处于前台状态。 | 1553| STATE_ACTIVE | 3 | 应用处于获焦状态。 | 1554| STATE_BACKGROUND | 4 | 应用处于后台不可见状态。 | 1555| STATE_DESTROY | 5 | 应用处于销毁状态。 | 1556 1557 1558## appManager.getRunningProcessInformationByBundleType<sup>12+</sup> 1559 1560getRunningProcessInformationByBundleType(bundleType: bundleManager.BundleType): Promise\<Array\<ProcessInformation>> 1561 1562根据包类型获取当前运行进程的有关信息。使用Promise异步回调。 1563 1564**系统接口**:此接口为系统接口。 1565 1566**需要权限**:ohos.permission.GET_RUNNING_INFO 1567 1568**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1569 1570**参数**: 1571 1572| 参数名 | 类型 | 必填 | 说明 | 1573| --------- | ---------------------------------------- | ---- | -------------- | 1574| bundleType | [bundleManager.BundleType](js-apis-bundleManager.md#bundletype) | 是 | 表示要查询的包类型。 | 1575 1576**返回值:** 1577 1578| 类型 | 说明 | 1579| -------- | -------- | 1580| Promise\<Array\<[ProcessInformation](js-apis-inner-application-processInformation.md)>> | Promise对象,返回特定包类型的运行进程的信息。 | 1581 1582**错误码**: 1583以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1584 1585| 错误码ID | 错误信息 | 1586| ------- | -------- | 1587| 201 | Permission denied. | 1588| 202 | Not system application. | 1589| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1590| 16000050 | Internal error. | 1591 1592 1593**示例:** 1594 1595```ts 1596import { appManager, bundleManager } from '@kit.AbilityKit'; 1597import { BusinessError } from '@kit.BasicServicesKit'; 1598 1599try { 1600 appManager.getRunningProcessInformationByBundleType(bundleManager.BundleType.ATOMIC_SERVICE) 1601 .then((data) => { 1602 console.log(`The running process information is: ${JSON.stringify(data)}`); 1603 }).catch((error: BusinessError) => { 1604 console.error(`error: ${JSON.stringify(error)}`); 1605 }); 1606} catch (paramError) { 1607 let code = (paramError as BusinessError).code; 1608 let message = (paramError as BusinessError).message; 1609 console.error(`[appManager] error: ${code}, ${message}`); 1610} 1611``` 1612 1613## appManager.preloadApplication<sup>12+</sup> 1614 1615preloadApplication(bundleName: string, userId: number, mode: PreloadMode, appIndex?: number): Promise\<void> 1616 1617预加载应用进程。接口返回成功并不代表预加载成功,具体结果以目标应用进程是否创建成功为准。使用Promise异步回调。 1618 1619**需要权限**:ohos.permission.PRELOAD_APPLICATION 1620 1621**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1622 1623**系统API**:此接口为系统接口。 1624 1625**模型约束**:此接口仅可在Stage模型下使用。 1626 1627**参数:** 1628 1629| 参数名 | 类型 | 必填 | 说明 | 1630| -------- | -------- | -------- | -------- | 1631| bundleName | string | 是 | 预加载的应用包名。 | 1632| userId | number | 是 | 预加载的用户Id。 | 1633| mode | [PreloadMode](#appmanagerpreloadmode12) | 是 | 预加载模式。 | 1634| appIndex | number | 否 | 预加载应用分身的appIndex。 | 1635 1636**返回值:** 1637 1638| 类型 | 说明 | 1639| -------------- | ---------------- | 1640| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1641 1642**错误码**: 1643 1644 以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1645 1646| 错误码ID | 错误信息 | 1647| ------- | -------- | 1648| 201 | The application does not have permission to call the interface. | 1649| 202 | Not system application. | 1650| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1651| 16000050 | Internal error. | 1652| 16300005 | The target bundle does not exist. | 1653 1654**示例:** 1655 1656```ts 1657import { appManager } from '@kit.AbilityKit'; 1658import { BusinessError } from '@kit.BasicServicesKit'; 1659import { hilog } from '@kit.PerformanceAnalysisKit'; 1660 1661try { 1662 let bundleName = "ohos.samples.etsclock"; 1663 let userId = 100; 1664 let mode = appManager.PreloadMode.PRESS_DOWN; 1665 let appIndex = 0; 1666 appManager.preloadApplication(bundleName, userId, mode, appIndex) 1667 .then(() => { 1668 hilog.info(0x0000, 'testTag', `preloadApplication success`); 1669 }) 1670 .catch((err: BusinessError) => { 1671 hilog.error(0x0000, 'testTag', `preloadApplication error, code: ${err.code}, msg:${err.message}`); 1672 }) 1673} catch (err) { 1674 hilog.error(0x0000, 'testTag', `preloadApplication error, code: ${(err as BusinessError).code}, msg:${(err as BusinessError).message}`); 1675} 1676``` 1677 1678## appManager.getRunningMultiAppInfo<sup>12+</sup> 1679 1680getRunningMultiAppInfo(bundleName: string): Promise\<RunningMultiAppInfo> 1681 1682根据应用包名获取系统中运行态的应用多开(即在一个设备上运行多个相同的应用)的相关信息,使用Promise异步回调。 1683 1684**需要权限**:ohos.permission.GET_RUNNING_INFO 1685 1686**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1687 1688**系统API**:此接口为系统接口。 1689 1690**模型约束**:此接口仅可在Stage模型下使用。 1691 1692**参数:** 1693 1694| 参数名 | 类型 | 必填 | 说明 | 1695| -------- | -------- | -------- | -------- | 1696| bundleName | string | 是 | 查询的应用包名。 | 1697 1698**返回值:** 1699 1700| 类型 | 说明 | 1701| -------------- | ---------------- | 1702| Promise\<[RunningMultiAppInfo](js-apis-inner-application-runningMultiAppInfo-sys.md)> | Promise对象。返回特定包名的运行态应用多开信息。 | 1703 1704**错误码**: 1705 1706 以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1707 1708| 错误码ID | 错误信息 | 1709| ------- | -------- | 1710| 201 | The application does not have permission to call the interface. | 1711| 202 | Not system application. | 1712| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1713| 16000072 | App clone or multi-instance is not supported. | 1714 1715**示例:** 1716 1717```ts 1718import { appManager } from '@kit.AbilityKit'; 1719import { hilog } from '@kit.PerformanceAnalysisKit'; 1720import { BusinessError } from '@kit.BasicServicesKit'; 1721 1722try { 1723 let bundleName = "ohos.samples.etsclock"; 1724 appManager.getRunningMultiAppInfo(bundleName).then((info: appManager.RunningMultiAppInfo) => { 1725 hilog.info(0x0000, 'testTag', `getRunningMultiAppInfo success`); 1726 }).catch((err: BusinessError) => { 1727 hilog.error(0x0000, 'testTag', `getRunningMultiAppInfo error, code: ${err.code}, msg:${err.message}`); 1728 }) 1729} catch (err) { 1730 hilog.error(0x0000, 'testTag', `getRunningMultiAppInfo error, code: ${err.code}, msg:${err.message}`); 1731} 1732``` 1733 1734## appManager.isAppRunning<sup>12+</sup> 1735 1736isAppRunning(bundleName: string, appCloneIndex?: number): Promise\<boolean> 1737 1738判断应用是否在运行。使用Promise异步回调。 1739 1740**需要权限**:ohos.permission.GET_RUNNING_INFO 1741 1742**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1743 1744**系统API**:此接口为系统接口。 1745 1746**参数:** 1747 1748| 参数名 | 类型 | 必填 | 说明 | 1749| -------- | -------- | -------- | -------- | 1750| bundleName | string | 是 | 查询的应用包名。 | 1751| appCloneIndex | number | 否 | 分身应用索引。 | 1752 1753**返回值:** 1754 1755| 类型 | 说明 | 1756| -------------- | ---------------- | 1757| Promise\<boolean> | Promise对象。返回true表示应用正在运行,返回false表示应用未运行。 | 1758 1759**错误码**: 1760 1761 以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1762 1763| 错误码ID | 错误信息 | 1764| ------- | -------- | 1765| 201 | The application does not have permission to call the interface. | 1766| 202 | Not system application. | 1767| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed. | 1768| 16000050 | Internal error. | 1769| 16000073 | The app clone index is invalid. | 1770 1771**示例:** 1772 1773```ts 1774import { appManager } from '@kit.AbilityKit'; 1775import { hilog } from '@kit.PerformanceAnalysisKit'; 1776import { BusinessError } from '@kit.BasicServicesKit'; 1777 1778try { 1779 let bundleName = "ohos.samples.etsclock"; 1780 appManager.isAppRunning(bundleName).then((data: boolean) => { 1781 hilog.info(0x0000, 'testTag', `data: ${JSON.stringify(data)}`); 1782 }).catch((err: BusinessError) => { 1783 hilog.error(0x0000, 'testTag', `isAppRunning error, code: ${err.code}, msg:${err.message}`); 1784 }) 1785} catch (err) { 1786 hilog.error(0x0000, 'testTag', `isAppRunning error, code: ${err.code}, msg:${err.message}`); 1787} 1788``` 1789 1790## appManager.terminateMission<sup>12+</sup> 1791 1792terminateMission(missionId: number): Promise\<void> 1793 1794关闭指定的任务。使用Promise异步回调。 1795 1796**需要权限**:ohos.permission.KILL_APP_PROCESSES 1797 1798**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1799 1800**系统接口**:此接口为系统接口。 1801 1802**参数:** 1803 1804| 参数名 | 类型 | 必填 | 说明 | 1805| -------- | -------- | -------- | -------- | 1806| missionId | number | 是 | 任务ID,可通过[getMissionInfos](js-apis-app-ability-missionManager-sys.md#missionmanagergetmissioninfos)获取。 | 1807 1808**返回值:** 1809 1810| 类型 | 说明 | 1811| -------- | -------- | 1812| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1813 1814**错误码**: 1815 1816以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1817 1818| 错误码ID | 错误信息 | 1819| ------- | -------- | 1820| 201 | Permission denied. | 1821| 202 | Not System App. Interface caller is not a system app. | 1822| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1823| 16000050 | Internal error. | 1824 1825**示例:** 1826```ts 1827import { appManager } from '@kit.AbilityKit'; 1828import { BusinessError } from '@kit.BasicServicesKit'; 1829 1830@Entry 1831@Component 1832struct Index { 1833 build() { 1834 Button('start link', { type: ButtonType.Capsule, stateEffect: true }) 1835 .width('87%') 1836 .height('5%') 1837 .margin({ bottom: '12vp' }) 1838 .onClick(() => { 1839 let missionId: number = 0; 1840 try { 1841 appManager.terminateMission(missionId).then(()=>{ 1842 console.log('terminateMission success.'); 1843 }).catch((err: BusinessError)=>{ 1844 console.error('terminateMission failed. err: ' + JSON.stringify(err)); 1845 }) 1846 } catch (paramError) { 1847 let code = (paramError as BusinessError).code; 1848 let message = (paramError as BusinessError).message; 1849 console.error(`[appManager] error: ${code}, ${message}`); 1850 } 1851 }) 1852 } 1853} 1854 1855## appManager.clearUpAppData<sup>13+</sup> 1856 1857clearUpAppData(bundleName: string, appCloneIndex?: number): Promise\<void> 1858 1859根据Bundle名称和应用分身索引,清除指定应用的数据。 1860 1861**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 1862 1863**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 1864 1865**系统API**:此接口为系统接口。 1866 1867**参数:** 1868 1869| 参数名 | 类型 | 必填 | 说明 | 1870| -------- | -------- | -------- | -------- | 1871| bundleName | string | 是 | 表示Bundle名称。 | 1872| appCloneIndex | number | 否 | 表示应用分身索引。 | 1873 1874**返回值:** 1875 1876| 类型 | 说明 | 1877| -------- | -------- | 1878| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 1879 1880**错误码**: 1881 1882以下错误码详细介绍请参考[通用错误码](../errorcode-universal.md)和[元能力子系统错误码](errorcode-ability.md)。 1883 1884| 错误码ID | 错误信息 | 1885| ------- | -------- | 1886| 201 | Permission denied. | 1887| 202 | Not System App. Interface caller is not a system app. | 1888| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 1889| 16000050 | Internal error. | 1890| 16000073 | The app clone index does not exist. | 1891 1892**示例:** 1893 1894```ts 1895import { appManager } from '@kit.AbilityKit'; 1896import { BusinessError } from '@kit.BasicServicesKit'; 1897 1898let bundleName: string = 'com.ohos.demo'; 1899let appCloneIndex: number = 0; 1900 1901try { 1902 appManager.clearUpAppData(bundleName, appCloneIndex).then(() => { 1903 console.log(`clearUpAppData success.`); 1904 }).catch((err: BusinessError) => { 1905 console.error(`clearUpAppData fail, err: ${JSON.stringify(err)}`); 1906 }); 1907} catch (paramError) { 1908 let code = (paramError as BusinessError).code; 1909 let message = (paramError as BusinessError).message; 1910 console.error(`[appManager] error: ${code}, ${message}`); 1911} 1912```