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