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