1# @ohos.application.appManager (appManager)(系统接口) 2<!--Kit: Ability Kit--> 3<!--Subsystem: Ability--> 4<!--Owner: @SKY2001--> 5<!--Designer: @yzkp--> 6<!--Tester: @lixueqing513--> 7<!--Adviser: @huipeizi--> 8<!--deprecated_code_no_check--> 9 10appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。 11 12> **说明:** 13> 14> 本模块首批接口从API version 8 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。 15> 16> 当前页面仅包含本模块的系统接口,其他公开接口参见[@ohos.application.appManager (appManager)](js-apis-application-appManager.md)。 17 18## 导入模块 19 20```ts 21import appManager from '@ohos.application.appManager'; 22``` 23 24## appManager.registerApplicationStateObserver 25 26registerApplicationStateObserver(observer: ApplicationStateObserver): number 27 28注册全部应用程序状态观测器。 29 30**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 31 32**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 33 34**系统接口**:此接口为系统接口。 35 36**参数:** 37 38| 参数名 | 类型 | 必填 | 说明 | 39| -------- | -------- | -------- | -------- | 40| observer | [ApplicationStateObserver](js-apis-inner-application-applicationStateObserver.md) | 是 | 表示程序状态观测器,用于观测应用的生命周期变化。 | 41 42**返回值:** 43 44| 类型 | 说明 | 45| --- | --- | 46| number | 已注册观测器的数字代码。| 47 48**示例:** 49 50 ```ts 51 import appManager from '@ohos.application.appManager'; 52 53 const observerCode = appManager.registerApplicationStateObserver({ 54 onForegroundApplicationChanged(appStateData) { 55 console.log('------------ onForegroundApplicationChanged -----------', appStateData); 56 }, 57 onAbilityStateChanged(abilityStateData) { 58 console.log('------------ onAbilityStateChanged -----------', abilityStateData); 59 }, 60 onProcessCreated(processData) { 61 console.log('------------ onProcessCreated -----------', processData); 62 }, 63 onProcessDied(processData) { 64 console.log('------------ onProcessDied -----------', processData); 65 }, 66 onProcessStateChanged(processData) { 67 console.log('------------ onProcessStateChanged -----------', processData); 68 } 69 }); 70 console.log('-------- observerCode: ---------', observerCode); 71 ``` 72 73## appManager.unregisterApplicationStateObserver 74 75unregisterApplicationStateObserver(observerId: number, callback: AsyncCallback\<void>): void 76 77取消注册应用程序状态观测器。使用callback异步回调。 78 79**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 80 81**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 82 83**系统接口**:此接口为系统接口。 84 85**参数:** 86 87| 参数名 | 类型 | 必填 | 说明 | 88| -------- | -------- | -------- | -------- | 89| observerId | number | 是 | 表示观察者的编号代码。 | 90| callback | AsyncCallback\<void> | 是 | 表示指定的callback回调方法。 | 91 92**示例:** 93 94 ```ts 95 import appManager from '@ohos.application.appManager'; 96 import { BusinessError } from '@ohos.base'; 97 98 let observerId = 100; 99 100 function unregisterApplicationStateObserverCallback(err: BusinessError) { 101 if (err) { 102 console.error('------------ unregisterApplicationStateObserverCallback ------------', err); 103 } 104 } 105 appManager.unregisterApplicationStateObserver(observerId, unregisterApplicationStateObserverCallback); 106 ``` 107 108## appManager.unregisterApplicationStateObserver 109 110unregisterApplicationStateObserver(observerId: number): Promise\<void> 111 112取消注册应用程序状态观测器。使用Promise异步回调。 113 114**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER 115 116**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 117 118**系统接口**:此接口为系统接口。 119 120**参数:** 121 122| 参数名 | 类型 | 必填 | 说明 | 123| -------- | -------- | -------- | -------- | 124| observerId | number | 是 | 表示观察者的编号代码。 | 125 126**返回值:** 127 128| 类型 | 说明 | 129| -------- | -------- | 130| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 131 132**示例:** 133 134 ```ts 135 import appManager from '@ohos.application.appManager'; 136 import { BusinessError } from '@ohos.base'; 137 138 let observerId = 100; 139 140 appManager.unregisterApplicationStateObserver(observerId) 141 .then((data) => { 142 console.log('----------- unregisterApplicationStateObserver success ----------', data); 143 }) 144 .catch((err: BusinessError) => { 145 console.error('----------- unregisterApplicationStateObserver fail ----------', err); 146 }); 147 ``` 148 149## appManager.getForegroundApplications 150 151getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void 152 153获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。使用callback异步回调。 154 155**需要权限**:ohos.permission.GET_RUNNING_INFO 156 157**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 158 159**系统接口**:此接口为系统接口。 160 161**参数:** 162 163| 参数名 | 类型 | 必填 | 说明 | 164| -------- | -------- | -------- | -------- | 165| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | 回调函数,返回所有当前处于前台的应用信息。 | 166 167**示例:** 168 169 ```ts 170 import appManager from '@ohos.application.appManager'; 171 172 appManager.getForegroundApplications((err, data) => { 173 if (err) { 174 console.error('--------- getForegroundApplicationsCallback fail ---------', err); 175 } else { 176 console.log('--------- getForegroundApplicationsCallback success ---------', data); 177 } 178 }); 179 ``` 180 181## appManager.getForegroundApplications 182 183getForegroundApplications(): Promise\<Array\<AppStateData>> 184 185获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。使用Promise异步回调。 186 187**需要权限**:ohos.permission.GET_RUNNING_INFO 188 189**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 190 191**系统接口**:此接口为系统接口。 192 193**返回值:** 194 195| 类型 | 说明 | 196| -------- | -------- | 197| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise对象,返回所有当前处于前台的应用信息。 | 198 199**示例:** 200 201 ```ts 202 import appManager from '@ohos.application.appManager'; 203 import { BusinessError } from '@ohos.base'; 204 205 appManager.getForegroundApplications() 206 .then((data) => { 207 console.log('--------- getForegroundApplications success -------', data); 208 }) 209 .catch((err: BusinessError) => { 210 console.error('--------- getForegroundApplications fail -------', err); 211 }); 212 ``` 213 214## appManager.killProcessWithAccount 215 216killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\> 217 218切断account进程(Promise形式)。 219 220> **说明:** 221> 222> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 223 224**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES 225 226**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 227 228**系统接口**:此接口为系统接口。 229 230**参数:** 231 232| 参数名 | 类型 | 必填 | 说明 | 233| -------- | -------- | -------- | -------- | 234| bundleName | string | 是 | 应用Bundle名称。 | 235| accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountCount](../apis-basic-services-kit/js-apis-osAccount.md#getcreatedosaccountscountdeprecated)。 | 236 237**返回值:** 238 239| 类型 | 说明 | 240| -------- | -------- | 241| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 242 243**示例:** 244 245```ts 246import appManager from '@ohos.application.appManager'; 247import { BusinessError } from '@ohos.base'; 248 249let bundleName = 'bundleName'; 250let accountId = 0; 251appManager.killProcessWithAccount(bundleName, accountId) 252 .then((data) => { 253 console.log('------------ killProcessWithAccount success ------------', data); 254 }) 255 .catch((err: BusinessError) => { 256 console.error('------------ killProcessWithAccount fail ------------', err); 257 }); 258``` 259 260 261## appManager.killProcessWithAccount 262 263killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void 264 265切断account进程(callback形式)。 266 267> **说明:** 268> 269> 当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。 270 271**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 272 273**系统接口**:此接口为系统接口。 274 275**需要权限**:ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS, ohos.permission.CLEAN_BACKGROUND_PROCESSES 276 277**参数:** 278 279| 参数名 | 类型 | 必填 | 说明 | 280| -------- | -------- | -------- | -------- | 281| bundleName | string | 是 | 应用Bundle名称。 | 282| accountId | number | 是 | 系统账号的账号ID,详情参考[getOsAccountCount](../apis-basic-services-kit/js-apis-osAccount.md#getcreatedosaccountscountdeprecated)。 | 283| callback | AsyncCallback\<void\> | 是 | 回调函数,当切断account进程成功,err为undefined,否则为错误对象。 | 284 285**示例:** 286 287```ts 288import appManager from '@ohos.application.appManager'; 289import { BusinessError } from '@ohos.base'; 290 291let bundleName = 'bundleName'; 292let accountId = 0; 293function killProcessWithAccountCallback(err: BusinessError, data: void) { 294 if (err) { 295 console.error('------------- killProcessWithAccountCallback fail, err: --------------', err); 296 } else { 297 console.log('------------- killProcessWithAccountCallback success, data: --------------', data); 298 } 299} 300appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback); 301``` 302 303## appManager.killProcessesByBundleName 304 305killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>) 306 307通过Bundle名称终止进程。使用callback异步回调。 308 309**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES 310 311**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 312 313**系统接口**:此接口为系统接口。 314 315**参数:** 316 317| 参数名 | 类型 | 必填 | 说明 | 318| -------- | -------- | -------- | -------- | 319| bundleName | string | 是 | 表示Bundle名称。 | 320| callback | AsyncCallback\<void> | 是 | 回调函数,当通过Bundle名称终止进程成功,err为undefined,否则为错误对象。 | 321 322**示例:** 323 324 ```ts 325 import appManager from '@ohos.application.appManager'; 326import { BusinessError } from '@ohos.base'; 327 328 let bundleName = 'bundleName'; 329 function killProcessesByBundleNameCallback(err: BusinessError, data: void) { 330 if (err) { 331 console.error('------------- killProcessesByBundleNameCallback fail, err: --------------', err); 332 } else { 333 console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data); 334 } 335 } 336 appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback); 337 ``` 338 339## appManager.killProcessesByBundleName 340 341killProcessesByBundleName(bundleName: string): Promise\<void> 342 343通过Bundle名称终止进程。使用Promise异步回调。 344 345**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES 346 347**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 348 349**系统接口**:此接口为系统接口。 350 351**参数:** 352 353| 参数名 | 类型 | 必填 | 说明 | 354| -------- | -------- | -------- | -------- | 355| bundleName | string | 是 | 表示Bundle名称。 | 356 357**返回值:** 358 359| 类型 | 说明 | 360| -------- | -------- | 361| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 362 363**示例:** 364 365 ```ts 366 import appManager from '@ohos.application.appManager'; 367 import { BusinessError } from '@ohos.base'; 368 369 let bundleName = 'com.example.myapplication'; 370 appManager.killProcessesByBundleName(bundleName) 371 .then((data) => { 372 console.log('------------ killProcessesByBundleName success ------------', data); 373 }) 374 .catch((err: BusinessError) => { 375 console.error('------------ killProcessesByBundleName fail ------------', err); 376 }); 377 ``` 378 379## appManager.clearUpApplicationData 380 381clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>) 382 383通过Bundle名称清除应用数据。使用callback异步回调。 384 385**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 386 387**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 388 389**系统接口**:此接口为系统接口。 390 391**参数:** 392 393| 参数名 | 类型 | 必填 | 说明 | 394| -------- | -------- | -------- | -------- | 395| bundleName | string | 是 | 表示Bundle名称。 | 396| callback | AsyncCallback\<void> | 是 | 回调函数,当通过Bundle名称清除应用数据成功,err为undefined,否则为错误对象。 | 397 398**示例:** 399 400 ```ts 401 import appManager from '@ohos.application.appManager'; 402 import { BusinessError } from '@ohos.base'; 403 404 let bundleName = 'bundleName'; 405 function clearUpApplicationDataCallback(err: BusinessError, data: void) { 406 if (err) { 407 console.error('------------- clearUpApplicationDataCallback fail, err: --------------', err); 408 } else { 409 console.log('------------- clearUpApplicationDataCallback success, data: --------------', data); 410 } 411 } 412 appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback); 413 ``` 414 415## appManager.clearUpApplicationData 416 417clearUpApplicationData(bundleName: string): Promise\<void> 418 419通过Bundle名称清除应用数据。使用Promise异步回调。 420 421**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA 422 423**系统能力**:SystemCapability.Ability.AbilityRuntime.Core 424 425**系统接口**:此接口为系统接口。 426 427**参数:** 428 429| 参数名 | 类型 | 必填 | 说明 | 430| -------- | -------- | -------- | -------- | 431| bundleName | string | 是 | 表示Bundle名称。 | 432 433**返回值:** 434 435| 类型 | 说明 | 436| -------- | -------- | 437| Promise\<void> | Promise对象。无返回结果的Promise对象。 | 438 439**示例:** 440 441 ```ts 442 import appManager from '@ohos.application.appManager'; 443 import { BusinessError } from '@ohos.base'; 444 445 let bundleName = 'bundleName'; 446 appManager.clearUpApplicationData(bundleName) 447 .then((data) => { 448 console.log('------------ clearUpApplicationData success ------------', data); 449 }) 450 .catch((err: BusinessError) => { 451 console.error('------------ clearUpApplicationData fail ------------', err); 452 }); 453 ```