1# @ohos.application.appManager (appManager) 2 3appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。 4 5> **说明:** 6> 7> 本模块首批接口从API version 7 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import appManager from '@ohos.application.appManager'; 13``` 14 15## appManager.isRunningInStabilityTest<sup>8+</sup> 16 17static isRunningInStabilityTest(callback: AsyncCallback<boolean>): void 18 19查询当前是否处于稳定性测试场景。 20 21**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 22 23**参数:** 24 25 | 参数名 | 类型 | 必填 | 说明 | 26 | -------- | -------- | -------- | -------- | 27 | callback | AsyncCallback<boolean> | 是 | 返回当前是否处于稳定性测试场景。 | 28 29**示例:** 30 31 ```ts 32 import appManager from '@ohos.application.appManager'; 33 34 appManager.isRunningInStabilityTest((error, flag) => { 35 if (error && error.code !== 0) { 36 console.error(`isRunningInStabilityTest fail, error: ${JSON.stringify(error)}`); 37 } else { 38 console.log(`isRunningInStabilityTest success, the result is: ${JSON.stringify(flag)}`); 39 } 40 }); 41 ``` 42 43 44## appManager.isRunningInStabilityTest<sup>8+</sup> 45 46static isRunningInStabilityTest(): Promise<boolean> 47 48查询当前是否处于稳定性测试场景。 49 50**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 51 52**返回值:** 53 54 | 类型 | 说明 | 55 | -------- | -------- | 56 | Promise<boolean> | 返回当前是否处于稳定性测试场景。 | 57 58**示例:** 59 60 ```ts 61 import appManager from '@ohos.application.appManager'; 62 import { BusinessError } from '@ohos.base'; 63 64 appManager.isRunningInStabilityTest().then((flag) => { 65 console.log(`The result of isRunningInStabilityTest is: ${JSON.stringify(flag)}`); 66 }).catch((error: BusinessError) => { 67 console.error(`error: ${JSON.stringify(error)}`); 68 }); 69 ``` 70 71 72## appManager.isRamConstrainedDevice 73 74isRamConstrainedDevice(): Promise\<boolean>; 75 76查询是否为ram受限设备。 77 78**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 79 80**返回值:** 81 82 | 类型 | 说明 | 83 | -------- | -------- | 84 | Promise<boolean> | 是否为ram受限设备。 | 85 86**示例:** 87 88 ```ts 89 import appManager from '@ohos.application.appManager'; 90 import { BusinessError } from '@ohos.base'; 91 92 appManager.isRamConstrainedDevice().then((data) => { 93 console.log(`The result of isRamConstrainedDevice is: ${JSON.stringify(data)}`); 94 }).catch((error: BusinessError) => { 95 console.error(`error: ${JSON.stringify(error)}`); 96 }); 97 ``` 98 99## appManager.isRamConstrainedDevice 100 101isRamConstrainedDevice(callback: AsyncCallback\<boolean>): void; 102 103查询是否为ram受限设备。 104 105**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 106 107**参数:** 108 109 | 参数名 | 类型 | 必填 | 说明 | 110 | -------- | -------- | -------- | -------- | 111 | callback | AsyncCallback<boolean> | 是 | 返回当前是否是ram受限设备。 | 112 113**示例:** 114 115 ```ts 116 import appManager from '@ohos.application.appManager'; 117 118 appManager.isRamConstrainedDevice((error, data) => { 119 if (error && error.code !== 0) { 120 console.error(`isRamConstrainedDevice fail, error: ${JSON.stringify(error)}`); 121 } else { 122 console.log(`The result of isRamConstrainedDevice is: ${JSON.stringify(data)}`); 123 } 124 }); 125 ``` 126 127## appManager.getAppMemorySize 128 129getAppMemorySize(): Promise\<number>; 130 131获取应用程序的内存大小。 132 133**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 134 135**返回值:** 136 137 | 类型 | 说明 | 138 | -------- | -------- | 139 | Promise<number> | 应用程序内存大小, 单位为M。 | 140 141**示例:** 142 143 ```ts 144 import appManager from '@ohos.application.appManager'; 145 import { BusinessError } from '@ohos.base'; 146 147 appManager.getAppMemorySize().then((data) => { 148 console.log(`The size of app memory is: ${JSON.stringify(data)}`); 149 }).catch((error: BusinessError) => { 150 console.error(`error: ${JSON.stringify(error)}`); 151 }); 152 ``` 153 154## appManager.getAppMemorySize 155 156getAppMemorySize(callback: AsyncCallback\<number>): void; 157 158获取应用程序的内存大小。 159 160**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 161 162**参数:** 163 164 | 参数名 | 类型 | 必填 | 说明 | 165 | -------- | -------- | -------- | -------- | 166 | callback | AsyncCallback<number> | 是 | 应用程序内存大小, 单位为M。 | 167 168**示例:** 169 170 ```ts 171 import appManager from '@ohos.application.appManager'; 172 173 appManager.getAppMemorySize((error, data) => { 174 if (error && error.code !== 0) { 175 console.error(`getAppMemorySize fail, error: ${JSON.stringify(error)}`); 176 } else { 177 console.log(`The size of app memory is: ${JSON.stringify(data)}`); 178 } 179 }); 180 ``` 181## appManager.getProcessRunningInfos<sup>(deprecated)</sup> 182 183getProcessRunningInfos(): Promise\<Array\<ProcessRunningInfo>>; 184 185获取有关运行进程的信息。 186 187> 从 API Version 9 开始废弃,建议使用[appManager.getRunningProcessInformation<sup>9+</sup>](js-apis-app-ability-appManager.md#appmanagergetrunningprocessinformation)替代。 188 189**需要权限**:ohos.permission.GET_RUNNING_INFO 190 191**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 192 193**返回值:** 194 195| 类型 | 说明 | 196| -------- | -------- | 197| Promise\<Array\<[ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md)>> | 获取有关运行进程的信息。 | 198 199**示例:** 200 201 ```ts 202 import appManager from '@ohos.application.appManager'; 203 import { BusinessError } from '@ohos.base'; 204 205 appManager.getProcessRunningInfos().then((data) => { 206 console.log(`The process running infos is: ${JSON.stringify(data)}`); 207 }).catch((error: BusinessError) => { 208 console.error(`error: ${JSON.stringify(error)}`); 209 }); 210 ``` 211 212## appManager.getProcessRunningInfos<sup>(deprecated)</sup> 213 214getProcessRunningInfos(callback: AsyncCallback\<Array\<ProcessRunningInfo>>): void; 215 216获取有关运行进程的信息。 217 218> 从 API Version 9 开始废弃,建议使用[appManager.getRunningProcessInformation<sup>9+</sup>](js-apis-app-ability-appManager.md#appmanagergetrunningprocessinformation9)替代。 219 220**需要权限**:ohos.permission.GET_RUNNING_INFO 221 222**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 223 224**参数:** 225 226| 参数名 | 类型 | 必填 | 说明 | 227| -------- | -------- | -------- | -------- | 228| callback | AsyncCallback\<Array\<[ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md)>> | 是 | 获取有关运行进程的信息。 | 229 230**示例:** 231 232 ```ts 233 import appManager from '@ohos.application.appManager'; 234 235 appManager.getProcessRunningInfos((error, data) => { 236 if (error && error.code !== 0) { 237 console.error(`getProcessRunningInfos fail, error: ${JSON.stringify(error)}`); 238 } else { 239 console.log(`getProcessRunningInfos success, data: ${JSON.stringify(data)}`); 240 } 241 }); 242 ``` 243 244## appManager.registerApplicationStateObserver<sup>8+</sup> 245 246registerApplicationStateObserver(observer: ApplicationStateObserver): number; 247 248注册全部应用程序状态观测器。 249 250**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 251 252**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 253 254**系统API**:该接口为系统接口,三方应用不支持调用。 255 256**参数:** 257 258| 参数名 | 类型 | 必填 | 说明 | 259| -------- | -------- | -------- | -------- | 260| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 返回观察者的数字代码。 | 261 262**示例:** 263 264 ```ts 265 import appManager from '@ohos.application.appManager'; 266 267 const observerCode = appManager.registerApplicationStateObserver({ 268 onForegroundApplicationChanged(appStateData) { 269 console.log('------------ onForegroundApplicationChanged -----------', appStateData); 270 }, 271 onAbilityStateChanged(abilityStateData) { 272 console.log('------------ onAbilityStateChanged -----------', abilityStateData); 273 }, 274 onProcessCreated(processData) { 275 console.log('------------ onProcessCreated -----------', processData); 276 }, 277 onProcessDied(processData) { 278 console.log('------------ onProcessDied -----------', processData); 279 }, 280 onProcessStateChanged(processData) { 281 console.log('------------ onProcessStateChanged -----------', processData); 282 } 283 }); 284 console.log('-------- observerCode: ---------', observerCode); 285 ``` 286 287## appManager.unregisterApplicationStateObserver<sup>8+</sup> 288 289unregisterApplicationStateObserver(observerId: number, callback: AsyncCallback\<void>): void; 290 291取消注册应用程序状态观测器。 292 293**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 294 295**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 296 297**系统API**:该接口为系统接口,三方应用不支持调用。 298 299**参数:** 300 301| 参数名 | 类型 | 必填 | 说明 | 302| -------- | -------- | -------- | -------- | 303| observerId | number | 是 | 表示观察者的编号代码。 | 304| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 | 305 306**示例:** 307 308 ```ts 309 import appManager from '@ohos.application.appManager'; 310 import { BusinessError } from '@ohos.base'; 311 312 let observerId = 100; 313 314 function unregisterApplicationStateObserverCallback(err: BusinessError) { 315 if (err) { 316 console.error('------------ unregisterApplicationStateObserverCallback ------------', err); 317 } 318 } 319 appManager.unregisterApplicationStateObserver(observerId, unregisterApplicationStateObserverCallback); 320 ``` 321 322## appManager.unregisterApplicationStateObserver<sup>8+</sup> 323 324unregisterApplicationStateObserver(observerId: number): Promise\<void>; 325 326取消注册应用程序状态观测器。 327 328**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 329 330**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 331 332**系统API**:该接口为系统接口,三方应用不支持调用。 333 334**参数:** 335 336| 参数名 | 类型 | 必填 | 说明 | 337| -------- | -------- | -------- | -------- | 338| observerId | number | 是 | 表示观察者的编号代码。 | 339 340**返回值:** 341 342| 类型 | 说明 | 343| -------- | -------- | 344| Promise\<void> | 返回执行结果。 | 345 346**示例:** 347 348 ```ts 349 import appManager from '@ohos.application.appManager'; 350 import { BusinessError } from '@ohos.base'; 351 352 let observerId = 100; 353 354 appManager.unregisterApplicationStateObserver(observerId) 355 .then((data) => { 356 console.log('----------- unregisterApplicationStateObserver success ----------', data); 357 }) 358 .catch((err: BusinessError) => { 359 console.error('----------- unregisterApplicationStateObserver fail ----------', err); 360 }); 361 ``` 362 363## appManager.getForegroundApplications<sup>8+</sup> 364 365getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void; 366 367获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。 368 369**需要权限**:ohos.permission.GET_RUNNING_INFO 370 371**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 372 373**系统API**:该接口为系统接口,三方应用不支持调用。 374 375**参数:** 376 377| 参数名 | 类型 | 必填 | 说明 | 378| -------- | -------- | -------- | -------- | 379| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | callback形式返回所有当前处于前台的应用信息。 | 380 381**示例:** 382 383 ```ts 384 import appManager from '@ohos.application.appManager'; 385 386 appManager.getForegroundApplications((err, data) => { 387 if (err) { 388 console.error('--------- getForegroundApplicationsCallback fail ---------', err); 389 } else { 390 console.log('--------- getForegroundApplicationsCallback success ---------', data); 391 } 392 }); 393 ``` 394 395## appManager.getForegroundApplications<sup>8+</sup> 396 397getForegroundApplications(): Promise\<Array\<AppStateData>>; 398 399获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。 400 401**需要权限**:ohos.permission.GET_RUNNING_INFO 402 403**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 404 405**系统API**:该接口为系统接口,三方应用不支持调用。 406 407**返回值:** 408 409| 类型 | 说明 | 410| -------- | -------- | 411| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise形式返回所有当前处于前台的应用信息。 | 412 413**示例:** 414 415 ```ts 416 import appManager from '@ohos.application.appManager'; 417 import { BusinessError } from '@ohos.base'; 418 419 appManager.getForegroundApplications() 420 .then((data) => { 421 console.log('--------- getForegroundApplications success -------', data); 422 }) 423 .catch((err: BusinessError) => { 424 console.error('--------- getForegroundApplications fail -------', err); 425 }); 426 ``` 427 428## appManager.killProcessWithAccount<sup>8+</sup> 429 430killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\> 431 432切断account进程(Promise形式)。 433 434> **说明:** 435> 436> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 437 438**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES 439 440**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 441 442**系统API**: 此接口为系统接口,三方应用不支持调用。 443 444**参数:** 445 446| 参数名 | 类型 | 必填 | 说明 | 447| -------- | -------- | -------- | -------- | 448| bundleName | string | 是 | 应用Bundle名称。 | 449| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 | 450 451**示例:** 452 453```ts 454import appManager from '@ohos.application.appManager'; 455import { BusinessError } from '@ohos.base'; 456 457let bundleName = 'bundleName'; 458let accountId = 0; 459appManager.killProcessWithAccount(bundleName, accountId) 460 .then((data) => { 461 console.log('------------ killProcessWithAccount success ------------', data); 462 }) 463 .catch((err: BusinessError) => { 464 console.error('------------ killProcessWithAccount fail ------------', err); 465 }); 466``` 467 468 469## appManager.killProcessWithAccount<sup>8+</sup> 470 471killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void 472 473切断account进程(callback形式)。 474 475> **说明:** 476> 477> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 478 479**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 480 481**系统API**: 此接口为系统接口,三方应用不支持调用。 482 483**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES 484 485**参数:** 486 487| 参数名 | 类型 | 必填 | 说明 | 488| -------- | -------- | -------- | -------- | 489| bundleName | string | 是 | 应用Bundle名称。 | 490| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 | 491| callback | AsyncCallback\<void\> | 是 | 切断account进程的回调函数。 | 492 493**示例:** 494 495```ts 496import appManager from '@ohos.application.appManager'; 497import { BusinessError } from '@ohos.base'; 498 499let bundleName = 'bundleName'; 500let accountId = 0; 501function killProcessWithAccountCallback(err: BusinessError, data: void) { 502 if (err) { 503 console.error('------------- killProcessWithAccountCallback fail, err: --------------', err); 504 } else { 505 console.log('------------- killProcessWithAccountCallback success, data: --------------', data); 506 } 507} 508appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback); 509``` 510 511## appManager.killProcessesByBundleName<sup>8+</sup> 512 513killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>); 514 515通过Bundle名称终止进程。 516 517**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES 518 519**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 520 521**系统API**:该接口为系统接口,三方应用不支持调用。 522 523**参数:** 524 525| 参数名 | 类型 | 必填 | 说明 | 526| -------- | -------- | -------- | -------- | 527| bundleName | string | 是 | 表示Bundle名称。 | 528| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 | 529 530**示例:** 531 532 ```ts 533 import appManager from '@ohos.application.appManager'; 534import { BusinessError } from '@ohos.base'; 535 536 let bundleName = 'bundleName'; 537 function killProcessesByBundleNameCallback(err: BusinessError, data: void) { 538 if (err) { 539 console.error('------------- killProcessesByBundleNameCallback fail, err: --------------', err); 540 } else { 541 console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data); 542 } 543 } 544 appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback); 545 ``` 546 547## appManager.killProcessesByBundleName<sup>8+</sup> 548 549killProcessesByBundleName(bundleName: string): Promise\<void>; 550 551通过Bundle名称终止进程。 552 553**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES 554 555**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 556 557**系统API**:该接口为系统接口,三方应用不支持调用。 558 559**参数:** 560 561| 参数名 | 类型 | 必填 | 说明 | 562| -------- | -------- | -------- | -------- | 563| bundleName | string | 是 | 表示Bundle名称。 | 564 565**返回值:** 566 567| 类型 | 说明 | 568| -------- | -------- | 569| Promise\<void> | 返回执行结果。 | 570 571**示例:** 572 573 ```ts 574 import appManager from '@ohos.application.appManager'; 575 import { BusinessError } from '@ohos.base'; 576 577 let bundleName = 'com.example.myapplication'; 578 appManager.killProcessesByBundleName(bundleName) 579 .then((data) => { 580 console.log('------------ killProcessesByBundleName success ------------', data); 581 }) 582 .catch((err: BusinessError) => { 583 console.error('------------ killProcessesByBundleName fail ------------', err); 584 }); 585 ``` 586 587## appManager.clearUpApplicationData<sup>8+</sup> 588 589clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>); 590 591通过Bundle名称清除应用数据。 592 593**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 594 595**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 596 597**系统API**:该接口为系统接口,三方应用不支持调用。 598 599**参数:** 600 601| 参数名 | 类型 | 必填 | 说明 | 602| -------- | -------- | -------- | -------- | 603| bundleName | string | 是 | 表示Bundle名称。 | 604| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 | 605 606**示例:** 607 608 ```ts 609 import appManager from '@ohos.application.appManager'; 610 import { BusinessError } from '@ohos.base'; 611 612 let bundleName = 'bundleName'; 613 function clearUpApplicationDataCallback(err: BusinessError, data: void) { 614 if (err) { 615 console.error('------------- clearUpApplicationDataCallback fail, err: --------------', err); 616 } else { 617 console.log('------------- clearUpApplicationDataCallback success, data: --------------', data); 618 } 619 } 620 appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback); 621 ``` 622 623## appManager.clearUpApplicationData<sup>8+</sup> 624 625clearUpApplicationData(bundleName: string): Promise\<void>; 626 627通过Bundle名称清除应用数据。 628 629**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 630 631**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 632 633**系统API**:该接口为系统接口,三方应用不支持调用。 634 635**参数:** 636 637| 参数名 | 类型 | 必填 | 说明 | 638| -------- | -------- | -------- | -------- | 639| bundleName | string | 是 | 表示Bundle名称。 | 640 641**返回值:** 642 643| 类型 | 说明 | 644| -------- | -------- | 645| Promise\<void> | 返回执行结果。 | 646 647**示例:** 648 649 ```ts 650 import appManager from '@ohos.application.appManager'; 651 import { BusinessError } from '@ohos.base'; 652 653 let bundleName = 'bundleName'; 654 appManager.clearUpApplicationData(bundleName) 655 .then((data) => { 656 console.log('------------ clearUpApplicationData success ------------', data); 657 }) 658 .catch((err: BusinessError) => { 659 console.error('------------ clearUpApplicationData fail ------------', err); 660 }); 661 ```