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