js-apis-application-appManager.md 16.4 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.application.appManager (appManager)
ahjxliubao2's avatar
ahjxliubao2 已提交
2

3
appManager模块提供App管理的能力,包括查询当前是否处于稳定性测试场景、查询是否为ram受限设备、获取应用程序的内存大小、获取有关运行进程的信息等。
Y
yuyaozhi 已提交
4

Y
yuyaozhi 已提交
5 6
> **说明:**
> 
D
merge  
donglin 已提交
7
> 本模块首批接口从API version 7 开始支持,从API version 9废弃,替换模块为[@ohos.app.ability.appManager](js-apis-app-ability-appManager.md)。后续版本的新增接口,采用上角标单独标记接口的起始版本。
ahjxliubao2's avatar
ahjxliubao2 已提交
8 9 10

## 导入模块

M
m00512953 已提交
11
```ts
D
donglin 已提交
12
import appManager from '@ohos.application.appManager';
ahjxliubao2's avatar
ahjxliubao2 已提交
13 14
```

M
m00512953 已提交
15
## appManager.isRunningInStabilityTest<sup>8+</sup>
ahjxliubao2's avatar
ahjxliubao2 已提交
16 17 18

static isRunningInStabilityTest(callback: AsyncCallback&lt;boolean&gt;): void

W
wusongqing 已提交
19
查询当前是否处于稳定性测试场景。
ahjxliubao2's avatar
ahjxliubao2 已提交
20

Y
yuyaozhi 已提交
21 22 23 24 25
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
ahjxliubao2's avatar
ahjxliubao2 已提交
26
  | -------- | -------- | -------- | -------- |
D
merge  
donglin 已提交
27
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 返回当前是否处于稳定性测试场景。 | 
ahjxliubao2's avatar
ahjxliubao2 已提交
28

Y
yuyaozhi 已提交
29
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
30
    
M
m00512953 已提交
31
  ```ts
D
donglin 已提交
32
  appManager.isRunningInStabilityTest((err, flag) => {
M
mingxihua 已提交
33
    console.log('error:' + JSON.stringify(err));
D
donglin 已提交
34
    console.log('The result of isRunningInStabilityTest is:' + JSON.stringify(flag));
Y
yuyaozhi 已提交
35
  })  
ahjxliubao2's avatar
ahjxliubao2 已提交
36 37 38
  ```


M
m00512953 已提交
39
## appManager.isRunningInStabilityTest<sup>8+</sup>
ahjxliubao2's avatar
ahjxliubao2 已提交
40 41 42 43 44

static isRunningInStabilityTest(): Promise&lt;boolean&gt;

查询当前是否处于稳定性测试场景。

Y
yuyaozhi 已提交
45 46 47 48 49
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

  | 类型 | 说明 | 
ahjxliubao2's avatar
ahjxliubao2 已提交
50 51 52
  | -------- | -------- |
  | Promise&lt;boolean&gt; | 返回当前是否处于稳定性测试场景。 | 

Y
yuyaozhi 已提交
53
**示例:**
ahjxliubao2's avatar
ahjxliubao2 已提交
54
    
M
m00512953 已提交
55
  ```ts
D
donglin 已提交
56 57
  appManager.isRunningInStabilityTest().then((flag) => {
      console.log('The result of isRunningInStabilityTest is:' + JSON.stringify(flag));
Y
yuyaozhi 已提交
58
  }).catch((error) => {
D
donglin 已提交
59
      console.log('error:' + JSON.stringify(error));
ahjxliubao2's avatar
ahjxliubao2 已提交
60 61
  });
  ```
62 63 64 65 66 67


## appManager.isRamConstrainedDevice

isRamConstrainedDevice(): Promise\<boolean>;

R
RayShih 已提交
68
查询是否为ram受限设备。
69 70 71 72 73 74 75 76 77 78 79

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;boolean&gt; | 是否为ram受限设备。 | 

**示例:**
    
M
m00512953 已提交
80
  ```ts
D
donglin 已提交
81 82
  appManager.isRamConstrainedDevice().then((data) => {
      console.log('The result of isRamConstrainedDevice is:' + JSON.stringify(data));
M
m00512953 已提交
83
  }).catch((error) => {
D
donglin 已提交
84
      console.log('error:' + JSON.stringify(error));
M
m00512953 已提交
85
  });
86 87 88 89 90 91
  ```

## appManager.isRamConstrainedDevice

isRamConstrainedDevice(callback: AsyncCallback\<boolean>): void;

R
RayShih 已提交
92
查询是否为ram受限设备。
93 94 95 96 97 98 99

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
merge  
donglin 已提交
100
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 返回当前是否是ram受限设备。 | 
101 102 103

**示例:**
    
M
m00512953 已提交
104
  ```ts
D
donglin 已提交
105 106 107
  appManager.isRamConstrainedDevice((err, data) => {
      console.log('error:' + JSON.stringify(err));
      console.log('The result of isRamConstrainedDevice is:' + JSON.stringify(data));
M
m00512953 已提交
108
  })
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
  ```

## appManager.getAppMemorySize

getAppMemorySize(): Promise\<number>;

获取应用程序的内存大小。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;number&gt; | 应用程序内存大小。 | 

**示例:**
    
M
m00512953 已提交
127
  ```ts
D
donglin 已提交
128 129
  appManager.getAppMemorySize().then((data) => {
      console.log('The size of app memory is:' + JSON.stringify(data));
M
m00512953 已提交
130
  }).catch((error) => {
D
donglin 已提交
131
      console.log('error:' + JSON.stringify(error));
M
m00512953 已提交
132
  });
133 134 135 136 137 138 139 140 141 142 143 144 145 146
  ```

## appManager.getAppMemorySize

getAppMemorySize(callback: AsyncCallback\<number>): void;

获取应用程序的内存大小。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
merge  
donglin 已提交
147
  | callback | AsyncCallback&lt;number&gt; | 是 | 应用程序内存大小。 | 
148 149 150

**示例:**
    
M
m00512953 已提交
151
  ```ts
D
donglin 已提交
152 153 154
  appManager.getAppMemorySize((err, data) => {
      console.log('error:' + JSON.stringify(err));
      console.log('The size of app memory is:' + JSON.stringify(data));
M
m00512953 已提交
155
  })
156
  ```
D
dy_study 已提交
157 158
## appManager.getProcessRunningInfos<sup>(deprecated)</sup>

Z
zengyawen 已提交
159
getProcessRunningInfos(): Promise\<Array\<ProcessRunningInfo>>;
160 161 162

获取有关运行进程的信息。

M
mingxihua 已提交
163
> 从 API Version 9 开始废弃,建议使用[appManager.getProcessRunningInformation<sup>9+</sup>](js-apis-app-ability-appManager.md#appmanagergetprocessrunninginformation9)替代。
Y
yuyaozhi 已提交
164

Y
yuyaozhi 已提交
165 166
**需要权限**:ohos.permission.GET_RUNNING_INFO

167 168 169 170
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**返回值:**

Z
zengyawen 已提交
171 172
| 类型 | 说明 |
| -------- | -------- |
M
m00512953 已提交
173
| Promise\<Array\<[ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md)>> | 获取有关运行进程的信息。 |
174 175 176

**示例:**
    
M
m00512953 已提交
177
  ```ts
D
donglin 已提交
178 179
  appManager.getProcessRunningInfos().then((data) => {
      console.log('The process running infos is:' + JSON.stringify(data));
M
m00512953 已提交
180
  }).catch((error) => {
D
donglin 已提交
181
      console.log('error:' + JSON.stringify(error));
M
m00512953 已提交
182
  });
183 184
  ```

D
dy_study 已提交
185 186
## appManager.getProcessRunningInfos<sup>(deprecated)</sup>

Z
zengyawen 已提交
187
getProcessRunningInfos(callback: AsyncCallback\<Array\<ProcessRunningInfo>>): void;
188 189 190

获取有关运行进程的信息。

M
mingxihua 已提交
191
> 从 API Version 9 开始废弃,建议使用[appManager.getProcessRunningInformation<sup>9+</sup>](js-apis-app-ability-appManager.md#appmanagergetprocessrunninginformation9-1)替代。
Y
yuyaozhi 已提交
192

Y
yuyaozhi 已提交
193 194
**需要权限**:ohos.permission.GET_RUNNING_INFO

195 196 197 198
**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**参数:**

Z
zengyawen 已提交
199 200
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
M
m00512953 已提交
201
| callback | AsyncCallback\<Array\<[ProcessRunningInfo](js-apis-inner-application-processRunningInfo.md)>> | 是 | 获取有关运行进程的信息。 |
202 203 204

**示例:**
    
M
m00512953 已提交
205
  ```ts
D
donglin 已提交
206 207 208
  appManager.getProcessRunningInfos((err, data) => {
      console.log('error:' + JSON.stringify(err));
      console.log('The process running infos is:' + JSON.stringify(data));
M
m00512953 已提交
209
  })
210
  ```
211

212 213 214 215 216 217 218 219 220 221 222 223 224
## appManager.unregisterApplicationStateObserver<sup>8+</sup>

unregisterApplicationStateObserver(observerId: number,  callback: AsyncCallback\<void>): void;

取消注册应用程序状态观测器。

**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**
225

226 227
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
merge  
donglin 已提交
228 229
| observerId | number | 是 | 表示观察者的编号代码。 |
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
230 231 232

**示例:**
    
M
m00512953 已提交
233 234
  ```ts
  var observerId = 100;
235

M
m00512953 已提交
236 237 238
  function unregisterApplicationStateObserverCallback(err) {
    if (err) {
        console.log('------------ unregisterApplicationStateObserverCallback ------------', err);
239
    }
M
m00512953 已提交
240
  }
D
donglin 已提交
241
  appManager.unregisterApplicationStateObserver(observerId, unregisterApplicationStateObserverCallback);
242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259
  ```

## appManager.unregisterApplicationStateObserver<sup>8+</sup>

unregisterApplicationStateObserver(observerId: number): Promise\<void>;

取消注册应用程序状态观测器。

**需要权限**:ohos.permission.RUNNING_STATE_OBSERVER

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
D
merge  
donglin 已提交
260
| observerId | number | 是 | 表示观察者的编号代码。 |
261 262 263 264 265 266 267 268 269

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |

**示例:**
    
M
m00512953 已提交
270 271 272
  ```ts
  var observerId = 100;

D
donglin 已提交
273
  appManager.unregisterApplicationStateObserver(observerId)
M
m00512953 已提交
274 275 276 277 278 279
  .then((data) => {
      console.log('----------- unregisterApplicationStateObserver success ----------', data);
  })
  .catch((err) => {
      console.log('----------- unregisterApplicationStateObserver fail ----------', err);
  })
280 281 282 283 284 285
  ```

## appManager.getForegroundApplications<sup>8+</sup>

getForegroundApplications(callback: AsyncCallback\<Array\<AppStateData>>): void;

M
m00512953 已提交
286
获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。
287

288 289 290 291 292 293 294 295 296 297
**需要权限**:ohos.permission.GET_RUNNING_INFO

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
M
m00512953 已提交
298
| callback | AsyncCallback\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | 是 | callback形式返回所有当前处于前台的应用信息。 |
299 300 301

**示例:**
    
M
m00512953 已提交
302 303 304 305 306 307
  ```ts
  function getForegroundApplicationsCallback(err, data) {
    if (err) {
        console.log('--------- getForegroundApplicationsCallback fail ---------', err);
    } else {
        console.log('--------- getForegroundApplicationsCallback success ---------', data)
308
    }
M
m00512953 已提交
309
  }
D
donglin 已提交
310
  appManager.getForegroundApplications(getForegroundApplicationsCallback);
311 312 313 314
  ```

## appManager.getForegroundApplications<sup>8+</sup>

315
getForegroundApplications(): Promise\<Array\<AppStateData>>;
316

M
m00512953 已提交
317
获取所有当前处于前台的应用信息。该应用信息由[AppStateData](js-apis-inner-application-appStateData.md)定义。
318 319 320 321 322 323 324 325 326 327 328

**需要权限**:ohos.permission.GET_RUNNING_INFO

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
M
m00512953 已提交
329
| Promise\<Array\<[AppStateData](js-apis-inner-application-appStateData.md)>> | Promise形式返回所有当前处于前台的应用信息。 |
330 331 332

**示例:**
    
M
m00512953 已提交
333
  ```ts
D
donglin 已提交
334
  appManager.getForegroundApplications()
M
m00512953 已提交
335 336 337 338 339 340
  .then((data) => {
      console.log('--------- getForegroundApplications success -------', data);
  })
  .catch((err) => {
      console.log('--------- getForegroundApplications fail -------', err);
  })
341 342 343 344 345 346 347 348
  ```

## appManager.killProcessWithAccount<sup>8+</sup>

killProcessWithAccount(bundleName: string, accountId: number): Promise\<void\>

切断account进程(Promise形式)。

D
donglin 已提交
349
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES,ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS,当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
350 351 352 353 354 355 356

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

357 358 359 360
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用Bundle名称。 |
| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
361 362 363

**示例:**

M
m00512953 已提交
364
```ts
365 366
var bundleName = 'bundleName';
var accountId = 0;
D
donglin 已提交
367
appManager.killProcessWithAccount(bundleName, accountId)
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386
   .then((data) => {
       console.log('------------ killProcessWithAccount success ------------', data);
   })
   .catch((err) => {
       console.log('------------ killProcessWithAccount fail ------------', err);
   })
```


## appManager.killProcessWithAccount<sup>8+</sup>

killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback\<void\>): void

切断account进程(callback形式)。

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**: 此接口为系统接口,三方应用不支持调用。

D
donglin 已提交
387
**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES,ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS,当accountId为当前用户时,不需要校验ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS权限。
388 389 390

**参数:**

391 392 393 394 395
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用Bundle名称。 |
| accountId | number | 是 | 系统帐号的帐号ID,详情参考[getCreatedOsAccountsCount](js-apis-osAccount.md#getosaccountlocalidfromprocess)。 |
| callback | AsyncCallback\<void\> | 是 | 切断account进程的回调函数。 |
396 397 398

**示例:**

M
m00512953 已提交
399
```ts
400 401 402 403 404 405 406 407 408
var bundleName = 'bundleName';
var accountId = 0;
function killProcessWithAccountCallback(err, data) {
   if (err) {
       console.log('------------- killProcessWithAccountCallback fail, err: --------------', err);
   } else {
       console.log('------------- killProcessWithAccountCallback success, data: --------------', data);
   }
}
D
donglin 已提交
409
appManager.killProcessWithAccount(bundleName, accountId, killProcessWithAccountCallback);
410 411 412 413 414 415
```

## appManager.killProcessesByBundleName<sup>8+</sup>

killProcessesByBundleName(bundleName: string, callback: AsyncCallback\<void>);

416
通过Bundle名称终止进程。
417 418 419 420 421 422 423 424 425 426 427

**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
428
| bundleName | string | 是 | 表示Bundle名称。 |
D
merge  
donglin 已提交
429
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
430 431 432

**示例:**
    
M
m00512953 已提交
433 434 435 436 437 438 439
  ```ts
  var bundleName = 'bundleName';
  function killProcessesByBundleNameCallback(err, data) {
    if (err) {
        console.log('------------- killProcessesByBundleNameCallback fail, err: --------------', err);
    } else {
        console.log('------------- killProcessesByBundleNameCallback success, data: --------------', data);
440
    }
M
m00512953 已提交
441
  }
D
donglin 已提交
442
  appManager.killProcessesByBundleName(bundleName, killProcessesByBundleNameCallback);
443 444 445 446 447 448
  ```

## appManager.killProcessesByBundleName<sup>8+</sup>

killProcessesByBundleName(bundleName: string): Promise\<void>;

449
通过Bundle名称终止进程。
450 451 452 453 454 455 456 457 458 459 460

**需要权限**:ohos.permission.CLEAN_BACKGROUND_PROCESSES

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
461
| bundleName | string | 是 | 表示Bundle名称。 |
462 463 464 465 466 467 468 469

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |

**示例:**
470

M
m00512953 已提交
471
  ```ts
472
  var bundleName = 'com.example.myapplication';
D
donglin 已提交
473
  appManager.killProcessesByBundleName(bundleName)
M
m00512953 已提交
474 475 476 477 478 479
    .then((data) => {
        console.log('------------ killProcessesByBundleName success ------------', data);
    })
    .catch((err) => {
        console.log('------------ killProcessesByBundleName fail ------------', err);
    })
480 481 482 483
  ```

## appManager.clearUpApplicationData<sup>8+</sup>

Y
yuyaozhi 已提交
484
clearUpApplicationData(bundleName: string, callback: AsyncCallback\<void>);
485

486
通过Bundle名称清除应用数据。
487 488 489 490 491 492 493 494 495 496 497

**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
498
| bundleName | string | 是 | 表示Bundle名称。 |
D
merge  
donglin 已提交
499
| callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 |
500 501 502

**示例:**
    
M
m00512953 已提交
503 504 505 506 507 508 509
  ```ts
  var bundleName = 'bundleName';
  function clearUpApplicationDataCallback(err, data) {
    if (err) {
        console.log('------------- clearUpApplicationDataCallback fail, err: --------------', err);
    } else {
        console.log('------------- clearUpApplicationDataCallback success, data: --------------', data);
510
    }
M
m00512953 已提交
511
  }
D
donglin 已提交
512
  appManager.clearUpApplicationData(bundleName, clearUpApplicationDataCallback);
513 514 515 516
  ```

## appManager.clearUpApplicationData<sup>8+</sup>

Y
yuyaozhi 已提交
517
clearUpApplicationData(bundleName: string): Promise\<void>;
518

519
通过Bundle名称清除应用数据。
520 521 522 523 524 525 526 527 528 529 530

**需要权限**:ohos.permission.CLEAN_APPLICATION_DATA

**系统能力**:SystemCapability.Ability.AbilityRuntime.Core

**系统API**:该接口为系统接口,三方应用不支持调用。

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
531
| bundleName | string | 是 | 表示Bundle名称。 |
532 533 534 535 536 537 538 539 540

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise\<void> | 返回执行结果。 |

**示例:**
    
M
m00512953 已提交
541
  ```ts
542
  var bundleName = 'bundleName';
D
donglin 已提交
543
  appManager.clearUpApplicationData(bundleName)
544 545 546 547 548 549
    .then((data) => {
        console.log('------------ clearUpApplicationData success ------------', data);
    })
    .catch((err) => {
        console.log('------------ clearUpApplicationData fail ------------', err);
    })
M
mingxihua 已提交
550
  ```