js-apis-osAccount.md 72.8 KB
Newer Older
Z
zhangalong 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#    系统帐号管理

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

```
import account_osAccount from '@ohos.account.osAccount';
```

## account_osAccount.getAccountManager

getAccountManager(): AccountManager

获取系统帐号能力的实例。

Z
zengyawen 已提交
19
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
20

Z
zengyawen 已提交
21 22 23 24 25 26
**返回值:**
| 类型                              | 说明                     |
| --------------------------------- | ------------------------ |
| [AccountManager](#accountmanager) | 获取系统帐号能力的实例。 |

**示例:**
Z
zhangalong 已提交
27 28 29 30 31
  ```
  const accountManager = account_osAccount.getAccountManager();
  ```

## OsAccountType
Z
zengyawen 已提交
32

Z
zhangalong 已提交
33
枚举,系统帐号类型。
Z
zengyawen 已提交
34 35 36 37 38 39 40 41

**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

| 参数   | 默认值 | 说明         |
| ------ | ------ | ------------ |
| ADMIN  | 0      | 管理员帐号。 |
| NORMAL | 1      | 普通帐号。   |
| GUEST  | 2      | 访客帐号。   |
Z
zhangalong 已提交
42 43 44 45 46 47 48 49 50 51 52

## AccountManager

管理系统帐号能力的类。

### activateOsAccount

activateOsAccount(localId: number, callback: AsyncCallback<void>): void

激活指定系统帐号,使用callback回调异步返回结果。

Z
zengyawen 已提交
53 54 55
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
56

Z
zengyawen 已提交
57
**参数:**
Z
zhangalong 已提交
58

Z
zengyawen 已提交
59 60 61 62 63 64
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| localId  | number                    | 是   | 要激活的系统帐号ID。 |
| callback | AsyncCallback<void> | 是   | 回调结果。           |

**示例:**激活ID为100的系统帐号
Z
zhangalong 已提交
65 66 67 68 69 70 71 72 73 74 75 76 77 78
  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.activateOsAccount(localId, (err)=>{
    console.log("activateOsAccount err:" + JSON.stringify(err));
  });
  ```

### activateOsAccount

activateOsAccount(localId: number): Promise<void>

激活指定系统帐号,使用Promise方式异步返回结果。

Z
zengyawen 已提交
79 80 81
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
82

Z
zengyawen 已提交
83
**参数:**
Z
zhangalong 已提交
84

Z
zengyawen 已提交
85 86 87
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
| localId | number | 是   | 要激活的系统帐号ID。 |
Z
zhangalong 已提交
88

Z
zengyawen 已提交
89
**返回值:**
Z
zhangalong 已提交
90

Z
zengyawen 已提交
91 92 93 94 95
| 类型                | 说明                                |
| :------------------ | :---------------------------------- |
| Promise<void> | Promise实例,用于获取异步返回结果。 |

**示例:**激活ID为100的系统帐号
Z
zhangalong 已提交
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.activateOsAccount(localId).then(() => {
    console.log("activateOsAccount success");
  }).catch((err) => {
    console.log("activateOsAccount err:" + JSON.stringify(err));
  });
  ```

### isMultiOsAccountEnable

isMultiOsAccountEnable(callback: AsyncCallback<boolean>): void

判断是否支持多系统帐号,使用callback回调异步返回结果。

Z
zengyawen 已提交
112 113 114
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
115

Z
zengyawen 已提交
116 117 118
| 参数名   | 类型                         | 必填 | 说明                                                |
| -------- | ---------------------------- | ---- | --------------------------------------------------- |
| callback | AsyncCallback<boolean> | 是   | 回调结果,支持多系统帐号则返回true,否则返回false。 |
Z
zhangalong 已提交
119

Z
zengyawen 已提交
120
**示例:**
Z
zhangalong 已提交
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isMultiOsAccountEnable((err, isEnabled) => {
    console.log("isMultiOsAccountEnable err: " + JSON.stringify(err));
    console.log('isMultiOsAccountEnable isEnabled: ' + isEnabled);
  });
  ```

### isMultiOsAccountEnable

isMultiOsAccountEnable(): Promise<boolean>

判断是否支持多系统帐号,使用Promise方式异步返回结果。

Z
zengyawen 已提交
136
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
137

Z
zengyawen 已提交
138
**返回值:**
Z
zhangalong 已提交
139

Z
zengyawen 已提交
140 141 142 143 144
| 类型                   | 说明                                                         |
| :--------------------- | :----------------------------------------------------------- |
| Promise<boolean> | Promise实例,用于获取异步返回结果,支持多系统帐号则返回true,否则返回false。 |

**示例:**
Z
zhangalong 已提交
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isMultiOsAccountEnable().then((isEnabled) => {
    console.log('isMultiOsAccountEnable, isEnabled: ' + isEnabled);
  }).catch((err) => {
    console.log("isMultiOsAccountEnable err: "  + JSON.stringify(err));
  });
  ```

### isOsAccountActived

isOsAccountActived(localId: number, callback: AsyncCallback<boolean>): void

判断指定系统帐号是否处于激活状态,使用callback回调异步返回结果。

Z
zengyawen 已提交
161 162 163
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS、ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
164

Z
zengyawen 已提交
165
**参数:**
Z
zhangalong 已提交
166

Z
zengyawen 已提交
167 168 169 170 171 172
| 参数名   | 类型                         | 必填 | 说明                                              |
| -------- | ---------------------------- | ---- | ------------------------------------------------- |
| localId  | number                       | 是   | 系统帐号ID。                                      |
| callback | AsyncCallback<boolean> | 是   | 回调结果,处于激活状态则返回true,否则返回false。 |

**示例:**判断ID为100的系统帐号是否处于激活状态
Z
zhangalong 已提交
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

  ```
  const accountManager = account_osAccount.getAccountManager();
  var osLocalId = 100;
  accountManager.isOsAccountActived(osLocalId, (err, isActive)=>{
    console.log("isOsAccountActived err:" + JSON.stringify(err));
    console.log("isOsAccountActived isActive:" + isActive);
  });
  ```

### isOsAccountActived

isOsAccountActived(localId: number): Promise<boolean>

判断指定系统帐号是否处于激活状态,使用Promise方式异步返回结果。

Z
zengyawen 已提交
189 190 191 192 193
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS、ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
194

Z
zengyawen 已提交
195 196 197
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
198

Z
zengyawen 已提交
199
**返回值:**
Z
zhangalong 已提交
200

Z
zengyawen 已提交
201 202 203
| 类型                   | 说明                                                         |
| :--------------------- | :----------------------------------------------------------- |
| Promise<boolean> | Promise实例,用于获取异步返回结果,处于激活状态则返回true,否则返回false。 |
Z
zhangalong 已提交
204

Z
zengyawen 已提交
205
**示例:**判断ID为100的系统帐号是否处于激活状态
Z
zhangalong 已提交
206 207 208 209 210 211 212 213 214 215 216 217 218 219 220

  ```
  const accountManager = account_osAccount.getAccountManager();
  var osLocalId = 100;
  accountManager.isOsAccountActived(osLocalId).then((isActive) => {
    console.log('isOsAccountActived, isActive: ' + isActive);
  }).catch((err) => {
    console.log("isOsAccountActived err: "  + JSON.stringify(err));
  });
  ```

### isOsAccountConstraintEnable

isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback<boolean>): void

Z
zengyawen 已提交
221
判断指定系统帐号是否具有指定约束,使用callback回调异步返回结果。
Z
zhangalong 已提交
222

Z
zengyawen 已提交
223
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
224

Z
zengyawen 已提交
225
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
226

Z
zengyawen 已提交
227 228 229 230 231 232 233 234 235
**参数:**

| 参数名     | 类型                         | 必填 | 说明                                              |
| ---------- | ---------------------------- | ---- | ------------------------------------------------- |
| localId    | number                       | 是   | 指定的系统帐号ID。                                |
| constraint | string                       | 是   | 指定的[约束](#系统帐号约束列表)名称。             |
| callback   | AsyncCallback<boolean> | 是   | 回调结果,具有指定约束则返回true,否则返回false。 |

**示例:**判断ID为100的系统帐号是否有禁止使用wifi的约束
Z
zhangalong 已提交
236 237 238 239 240 241 242 243 244 245 246 247 248 249

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.isOsAccountConstraintEnable(localId, "constraint.wifi", (err, isConstraintEnabled)=>{
    console.log("isOsAccountConstraintEnable err:" + JSON.stringify(err));
    console.log("isOsAccountConstraintEnable isConstraintEnabled:" + isConstraintEnabled);
  });
  ```

### isOsAccountConstraintEnable

isOsAccountConstraintEnable(localId: number, constraint: string): Promise<boolean>

Z
zengyawen 已提交
250 251 252 253 254
判断指定系统帐号是否具有指定约束,使用Promise方式异步返回结果。

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

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
255

Z
zengyawen 已提交
256
**参数:**
Z
zhangalong 已提交
257

Z
zengyawen 已提交
258 259 260 261
| 参数名     | 类型   | 必填 | 说明                                  |
| ---------- | ------ | ---- | ------------------------------------- |
| localId    | number | 是   | 指定的系统帐号ID。                    |
| constraint | string | 是   | 指定的[约束](#系统帐号约束列表)名称。 |
Z
zhangalong 已提交
262

Z
zengyawen 已提交
263
**返回值:**
Z
zhangalong 已提交
264

Z
zengyawen 已提交
265 266 267
| 类型                   | 说明                                                         |
| :--------------------- | :----------------------------------------------------------- |
| Promise<boolean> | Promise实例,用于获取异步返回结果,具有指定约束则返回true,否则返回false。 |
Z
zhangalong 已提交
268

Z
zengyawen 已提交
269
**示例:**判断ID为100的系统帐号是否有禁止使用wifi的约束
Z
zhangalong 已提交
270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.isOsAccountConstraintEnable(localId, "constraint.wifi").then((isConstraintEnabled) => {
    console.log('isOsAccountConstraintEnable, isConstraintEnabled: ' + isConstraintEnabled);
  }).catch((err) => {
    console.log("isOsAccountConstraintEnable err: "  + JSON.stringify(err));
  });
  ```

### isTestOsAccount

isTestOsAccount(callback: AsyncCallback<boolean>): void

检查当前系统帐号是否为测试帐号,使用callback回调异步返回结果。

Z
zengyawen 已提交
287
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
288

Z
zengyawen 已提交
289
**参数:**
Z
zhangalong 已提交
290

Z
zengyawen 已提交
291 292 293 294 295
| 参数名   | 类型                         | 必填 | 说明                                            |
| -------- | ---------------------------- | ---- | ----------------------------------------------- |
| callback | AsyncCallback<boolean> | 是   | 回调结果,是测试帐号则返回true,否则返回false。 |

**示例:**
Z
zhangalong 已提交
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isTestOsAccount((err, isTest) => {
    console.log("isTestOsAccount err: " + JSON.stringify(err));
    console.log('isTestOsAccount isTest: ' + isTest);
  });
  ```

### isTestOsAccount

isTestOsAccount(): Promise<boolean>

检查当前系统帐号是否为测试帐号,使用Promise方式异步返回结果。

Z
zengyawen 已提交
311 312 313
**系统能力:** SystemCapability.Account.OsAccount

**返回值:**
Z
zhangalong 已提交
314

Z
zengyawen 已提交
315 316 317
| 类型                   | 说明                                                         |
| :--------------------- | :----------------------------------------------------------- |
| Promise<boolean> | Promise实例,用于获取异步返回结果,是测试帐号则返回true,否则返回false。 |
Z
zhangalong 已提交
318

Z
zengyawen 已提交
319
**示例:**
Z
zhangalong 已提交
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isTestOsAccount().then((isTest) => {
    console.log('isTestOsAccount, isTest: ' + isTest);
  }).catch((err) => {
    console.log("isTestOsAccount err: "  + JSON.stringify(err));
  });
  ```

### isOsAccountVerified

isOsAccountVerified(callback: AsyncCallback<boolean>): void

检查当前系统帐号是否已验证,使用callback回调异步返回结果。

Z
zengyawen 已提交
336
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
337

Z
zengyawen 已提交
338
**参数:**
Z
zhangalong 已提交
339

Z
zengyawen 已提交
340 341 342 343 344
| 参数名   | 类型                         | 必填 | 说明                                        |
| -------- | ---------------------------- | ---- | ------------------------------------------- |
| callback | AsyncCallback<boolean> | 是   | 回调结果,已验证则返回true,否则返回false。 |

**示例:**
Z
zhangalong 已提交
345 346 347 348 349 350 351 352 353 354 355 356 357 358 359

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isOsAccountVerified((err, isVerified) => {
    console.log("isOsAccountVerified err: " + JSON.stringify(err));
    console.log('isOsAccountVerified isVerified: ' + isVerified);
  });
  ```

### isOsAccountVerified

isOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void

检查指定系统帐号是否已验证,使用callback回调异步返回结果。

Z
zengyawen 已提交
360 361 362
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
363

Z
zengyawen 已提交
364 365 366 367
| 参数名   | 类型                         | 必填 | 说明                                        |
| -------- | ---------------------------- | ---- | ------------------------------------------- |
| localId  | number                       | 否   | 指定的系统帐号ID。                          |
| callback | AsyncCallback<boolean> | 是   | 回调结果,已验证则返回true,否则返回false。 |
Z
zhangalong 已提交
368

Z
zengyawen 已提交
369
**示例:**
Z
zhangalong 已提交
370 371 372 373 374 375 376 377 378 379 380

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isOsAccountVerified((err, isVerified) => {
    console.log("isOsAccountVerified err: " + JSON.stringify(err));
    console.log('isOsAccountVerified isVerified: ' + isVerified);
  });
  ```

### isOsAccountVerified

Z
zengyawen 已提交
381
isOsAccountVerified(localId?: number): Promise<boolean>
Z
zhangalong 已提交
382 383 384

检查指定系统帐号是否已验证,使用Promise方式异步返回结果。

Z
zengyawen 已提交
385
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
386

Z
zengyawen 已提交
387
**参数:**
Z
zhangalong 已提交
388

Z
zengyawen 已提交
389 390 391
| 参数名  | 类型   | 必填 | 说明               |
| ------- | ------ | ---- | ------------------ |
| localId | number | 否   | 指定的系统帐号ID。 |
Z
zhangalong 已提交
392

Z
zengyawen 已提交
393
**返回值:**
Z
zhangalong 已提交
394

Z
zengyawen 已提交
395 396 397 398 399
| 类型                   | 说明                                                         |
| :--------------------- | :----------------------------------------------------------- |
| Promise<boolean> | Promise实例,用于获取异步返回结果,已验证则返回true,否则返回false。 |

**示例:**
Z
zhangalong 已提交
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.isOsAccountVerified().then((isVerified) => {
    console.log('isOsAccountVerified, isVerified: ' + isVerified);
  }).catch((err) => {
    console.log("isOsAccountVerified err: "  + JSON.stringify(err));
  });
  ```

### removeOsAccount

removeOsAccount(localId: number, callback: AsyncCallback<void>): void

删除指定系统帐号,使用callback回调异步返回结果。

Z
zengyawen 已提交
416 417 418 419 420 421 422
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
423

Z
zengyawen 已提交
424 425 426 427
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| localId  | number                    | 是   | 要删除的系统帐号ID。 |
| callback | AsyncCallback<void> | 是   | 回调结果。           |
Z
zhangalong 已提交
428

Z
zengyawen 已提交
429
**示例:**
Z
zhangalong 已提交
430 431 432 433 434 435

  ```
  const accountManager = account_osAccount.getAccountManager();
  var createIocalId;
  osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
    createIocalId = osAccountInfo.localId;
J
jidong 已提交
436
  });
Z
zhangalong 已提交
437 438 439 440 441 442 443 444 445 446 447
  accountManager.removeOsAccount(createIocalId, (err)=>{
    console.log("removeOsAccount err:" + JSON.stringify(err));
  });
  ```

### removeOsAccount

removeOsAccount(localId: number): Promise<void>

删除指定系统帐号,使用Promise方式异步返回结果。

Z
zengyawen 已提交
448 449 450 451 452 453 454
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
455

Z
zengyawen 已提交
456 457 458
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
| localId | number | 是   | 要删除的系统帐号ID。 |
Z
zhangalong 已提交
459

Z
zengyawen 已提交
460
**返回值:**
Z
zhangalong 已提交
461

Z
zengyawen 已提交
462 463 464
| 类型                | 说明                                |
| :------------------ | :---------------------------------- |
| Promise<void> | Promise实例,用于获取异步返回结果。 |
Z
zhangalong 已提交
465

Z
zengyawen 已提交
466
**示例:**
Z
zhangalong 已提交
467 468 469 470 471 472

  ```
  const accountManager = account_osAccount.getAccountManager();
  var createIocalId;
  osAccountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
    createIocalId = osAccountInfo.localId;
J
jidong 已提交
473
  });
Z
zhangalong 已提交
474 475 476 477 478 479 480 481 482 483 484 485
  createIocalId = osAccount.localId;
  accountManager.removeOsAccount(createIocalId).then(() => {
    console.log('removeOsAccount Success');
  }).catch(() => {
    console.log("removeOsAccount err: "  + JSON.stringify(err));
  });
  ```

### setOsAccountConstraints

setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean,callback: AsyncCallback<void>): void

Z
zengyawen 已提交
486
为指定系统帐号设置/删除约束,使用callback回调异步返回结果。
Z
zhangalong 已提交
487

Z
zengyawen 已提交
488
此接口为系统接口,三方应用不支持调用。
Z
zhangalong 已提交
489

Z
zengyawen 已提交
490
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
491

Z
zengyawen 已提交
492 493 494 495 496 497 498 499 500 501 502 503
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名      | 类型                      | 必填 | 说明                                         |
| ----------- | ------------------------- | ---- | -------------------------------------------- |
| localId     | number                    | 是   | 系统帐号ID。                                 |
| constraints | Array<string>       | 是   | 待设置/删除的[约束](#系统帐号约束列表)列表。 |
| enable      | boolean                   | 是   | 设置(true)/删除(false)                       |
| callback    | AsyncCallback<void> | 是   | 回调结果。                                   |

**示例:**给ID为100的系统帐号设置禁止使用wifi的约束
Z
zhangalong 已提交
504 505 506 507 508 509 510 511 512 513 514 515 516

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.setOsAccountConstraints(localId, ["constraint.wifi"], true, (err)=>{
    console.log("setOsAccountConstraints err:" + JSON.stringify(err));
  });
  ```

### setOsAccountConstraints

setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean): Promise<void>

Z
zengyawen 已提交
517
为指定系统帐号设置/删除约束,使用Promise方式异步返回结果。
Z
zengyawen 已提交
518 519

此接口为系统接口,三方应用不支持调用。
Z
zhangalong 已提交
520

Z
zengyawen 已提交
521
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
522

Z
zengyawen 已提交
523
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
524

Z
zengyawen 已提交
525
**参数:**
Z
zhangalong 已提交
526

Z
zengyawen 已提交
527 528 529 530 531
| 参数名      | 类型                | 必填 | 说明                                         |
| ----------- | ------------------- | ---- | -------------------------------------------- |
| localId     | number              | 是   | 系统帐号ID。                                 |
| constraints | Array<string> | 是   | 待设置/删除的[约束](#系统帐号约束列表)列表。 |
| enable      | boolean             | 是   | 设置(true)/删除(false)。                     |
Z
zhangalong 已提交
532

Z
zengyawen 已提交
533 534 535 536 537 538 539
**返回值:**

| 类型                | 说明                                |
| :------------------ | :---------------------------------- |
| Promise<void> | Promise实例,用于获取异步返回结果。 |

**示例:**删除ID为100的系统帐号的禁止使用wifi的约束
Z
zhangalong 已提交
540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.setOsAccountConstraints(localId, ["constraint.location.set"], false).then(() => {
    console.log('setOsAccountConstraints Success');
  }).catch((err) => {
    console.log("setOsAccountConstraints err: "  + JSON.stringify(err));
  });
  ```

### setOsAccountName

setOsAccountName(localId: number, localName: string, callback: AsyncCallback<void>): void

设置指定系统帐号的帐号名,使用callback回调异步返回结果。

Z
zengyawen 已提交
557 558 559 560 561
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
562

Z
zengyawen 已提交
563 564 565 566 567
| 参数名    | 类型                      | 必填 | 说明         |
| :-------- | ------------------------- | ---- | ------------ |
| localId   | number                    | 是   | 系统帐号ID。 |
| localName | string                    | 是   | 帐号名。     |
| callback  | AsyncCallback<void> | 是   | 回调结果。   |
Z
zhangalong 已提交
568

Z
zengyawen 已提交
569
**示例:**将ID为100的系统帐号的帐号名设置成demoName
Z
zhangalong 已提交
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  var newName = "demoName";
  accountManager.setOsAccountName(localId, newName, (err)=>{
    console.debug("setOsAccountName err:" + JSON.stringify(err));
  });
  ```

### setOsAccountName

setOsAccountName(localId: number, localName: string): Promise<void>

设置指定系统帐号的帐号名,使用Promise方式异步返回结果。 

Z
zengyawen 已提交
586
此接口为系统接口,三方应用不支持调用。
Z
zhangalong 已提交
587

Z
zengyawen 已提交
588
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
589

Z
zengyawen 已提交
590
**参数:**
Z
zhangalong 已提交
591

Z
zengyawen 已提交
592 593 594 595
| 参数名    | 类型   | 必填 | 说明         |
| --------- | ------ | ---- | ------------ |
| localId   | number | 是   | 系统帐号ID。 |
| localName | string | 是   | 帐号名。     |
Z
zhangalong 已提交
596

Z
zengyawen 已提交
597 598 599 600 601 602 603
**返回值:**

| 类型                | 说明                                |
| :------------------ | :---------------------------------- |
| Promise<void> | Promise实例,用于获取异步返回结果。 |

**示例:**将ID为100的系统帐号的帐号名设置成demoName
Z
zhangalong 已提交
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  var nameLimit = "demoName";
  accountManager.setOsAccountName(localId, nameLimit).then(() => {
    console.log('setOsAccountName Success');
  }).catch((err) => {
    console.log("setOsAccountName err: "  + JSON.stringify(err));
  });
  ```

### getCreatedOsAccountsCount

getCreatedOsAccountsCount(callback: AsyncCallback<number>): void

获取已创建的系统帐号数量,使用callback回调异步返回结果。

Z
zengyawen 已提交
622 623 624 625 626
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
627

Z
zengyawen 已提交
628 629 630
| 参数名   | 类型                        | 必填 | 说明                                       |
| -------- | --------------------------- | ---- | ------------------------------------------ |
| callback | AsyncCallback<number> | 是   | 回调结果,返回的是已创建的系统帐号的数量。 |
Z
zhangalong 已提交
631

Z
zengyawen 已提交
632
**示例:**
Z
zhangalong 已提交
633 634 635 636 637 638 639 640 641 642 643 644 645 646 647

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getCreatedOsAccountsCount((err, accountCnt)=>{
    console.log("obtains the number of all os accounts created err:" + JSON.stringify(err));
    console.log("obtains the number of all os accounts created accountCnt:" + accountCnt);
  });
  ```

### getCreatedOsAccountsCount

getCreatedOsAccountsCount(): Promise<number>

获取已创建的系统帐号数量,使用Promise方式异步返回结果。

Z
zengyawen 已提交
648
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
649

Z
zengyawen 已提交
650
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
651

Z
zengyawen 已提交
652 653 654 655 656 657 658
**返回值:**

| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise<number> | Promise实例,用于获取异步返回结果,返回的是已创建的系统帐号的数量。 |

**示例:**
Z
zhangalong 已提交
659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getCreatedOsAccountsCount().then((accountCnt) => {
    console.log('getCreatedOsAccountsCount, accountCnt: ' + accountCnt);
  }).catch((err) => {
    console.log("getCreatedOsAccountsCount err: "  + JSON.stringify(err));
  });
  ```

### getOsAccountLocalIdFromProcess

getOsAccountLocalIdFromProcess(callback: AsyncCallback<number>): void

获取当前进程所属的系统帐号的帐号ID,使用callback回调异步返回结果。

Z
zengyawen 已提交
675 676 677
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
678

Z
zengyawen 已提交
679 680 681
| 参数名   | 类型                        | 必填 | 说明                                               |
| -------- | --------------------------- | ---- | -------------------------------------------------- |
| callback | AsyncCallback<number> | 是   | 回调结果,返回的是当前进程所属的系统帐号的帐号ID。 |
Z
zhangalong 已提交
682

Z
zengyawen 已提交
683
**示例:**
Z
zhangalong 已提交
684 685 686 687 688 689 690 691 692 693 694 695 696 697 698

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getOsAccountLocalIdFromProcess((err, accountID) => {
    console.log("getOsAccountLocalIdFromProcess err: " + JSON.stringify(err));
    console.log('getOsAccountLocalIdFromProcess accountID: ' + accountID);
  });
  ```

### getOsAccountLocalIdFromProcess

getOsAccountLocalIdFromProcess(): Promise<number>

获取当前进程所属的系统帐号的帐号ID,使用Promise方式异步返回结果。

Z
zengyawen 已提交
699
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
700

Z
zengyawen 已提交
701
**返回值:**
Z
zhangalong 已提交
702

Z
zengyawen 已提交
703 704 705 706 707
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise<number> | Promise实例,用于获取异步返回结果,返回的是当前进程所属的系统帐号的帐号ID。 |

**示例:**
Z
zhangalong 已提交
708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getOsAccountLocalIdFromProcess().then((accountID) => {
    console.log('getOsAccountLocalIdFromProcess, accountID: ' + accountID);
  }).catch((err) => {
    console.log("getOsAccountLocalIdFromProcess err: "  + JSON.stringify(err));
  });
  ```

### getOsAccountLocalIdFromUid

getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback<number>): void

从进程uid中获取该uid所属的系统帐号的帐号ID,使用callback回调异步返回结果。

Z
zengyawen 已提交
724 725 726
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
727

Z
zengyawen 已提交
728 729 730 731
| 参数名   | 类型                        | 必填 | 说明                                          |
| -------- | --------------------------- | ---- | --------------------------------------------- |
| uid      | number                      | 是   | 进程uid。                                     |
| callback | AsyncCallback<number> | 是   | 回调结果,返回的是uid所属的系统帐号的帐号ID。 |
Z
zhangalong 已提交
732

Z
zengyawen 已提交
733
**示例:**查询值为12345678的uid所属的系统帐号的帐号ID
Z
zhangalong 已提交
734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749

  ```
  const accountManager = account_osAccount.getAccountManager();
  let uid = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid, (err, accountID) => {
    console.log("getOsAccountLocalIdFromUid err: " + JSON.stringify(err));
    console.log('getOsAccountLocalIdFromUid: ' + accountID);
  });
  ```

### getOsAccountLocalIdFromUid

getOsAccountLocalIdFromUid(uid: number): Promise<number>

从进程uid中获取该uid所属的系统帐号的帐号ID,使用Promise方式异步返回结果。

Z
zengyawen 已提交
750
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
751

Z
zengyawen 已提交
752
**参数:**
Z
zhangalong 已提交
753

Z
zengyawen 已提交
754 755 756
| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |
Z
zhangalong 已提交
757

Z
zengyawen 已提交
758
**返回值:**
Z
zhangalong 已提交
759

Z
zengyawen 已提交
760 761 762 763 764
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise<number> | Promise实例,用于获取异步返回结果,返回的是uid所属的系统帐号的帐号ID。 |

**示例:**查询值为12345678的uid所属的系统帐号的帐号ID
Z
zhangalong 已提交
765 766 767 768 769 770 771 772 773 774 775

  ```
  const accountManager = account_osAccount.getAccountManager();
  let uid = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid).then((accountID) => {
    console.log('getOsAccountLocalIdFromUid: ' + accountID);
  }).catch((err) => {
    console.log("getOsAccountLocalIdFromUid err: "  + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
776
### getOsAccountLocalIdFromDomain<sup>8+</sup>
Z
zhangalong 已提交
777 778 779 780 781

getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void

根据域帐号信息,获取与其关联的系统帐号的帐号ID。

Z
zengyawen 已提交
782 783 784
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
785

Z
zengyawen 已提交
786
**参数:**
Z
zhangalong 已提交
787

Z
zengyawen 已提交
788 789 790 791 792 793
| 参数名     | 类型                                    | 必填 | 说明                                         |
| ---------- | --------------------------------------- | ---- | -------------------------------------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是   | 域帐号信息。                                 |
| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调结果,返回的是和域帐号关联的系统帐号ID。 |

**示例:**
Z
zhangalong 已提交
794 795 796 797 798 799 800 801 802 803

  ```
  var domainInfo = {domain: "testDomain", accountName: "testAccountName"};
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err, accountID) => {
    console.log("getOsAccountLocalIdFromDomain: " + JSON.stringify(err));
    console.log('getOsAccountLocalIdFromDomain: ' + accountID);
  });
  ```

Z
zengyawen 已提交
804
### getOsAccountLocalIdFromDomain<sup>8+</sup>
Z
zhangalong 已提交
805 806 807 808 809

getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;

根据域帐号信息,获取与其关联的系统帐号的帐号ID,使用Promise方式异步返回结果。

Z
zengyawen 已提交
810 811 812 813 814
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
815

Z
zengyawen 已提交
816 817 818
| 参数名     | 类型                                    | 必填 | 说明         |
| ---------- | --------------------------------------- | ---- | ------------ |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是   | 域帐号信息。 |
Z
zhangalong 已提交
819

Z
zengyawen 已提交
820
**返回值:**
Z
zhangalong 已提交
821

Z
zengyawen 已提交
822 823 824
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回结果,返回的是和域帐号关联的系统帐号ID。 |
Z
zhangalong 已提交
825

Z
zengyawen 已提交
826
**示例:**
Z
zhangalong 已提交
827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843

  ```
  const accountManager = account_osAccount.getAccountManager();
  var domainInfo = {domain: "testDomain", accountName: "testAccountName"};
  accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((accountID) => {
    console.log('getOsAccountLocalIdFromDomain: ' + accountID);
  }).catch((err) => {
    console.log("getOsAccountLocalIdFromDomain err: "  + JSON.stringify(err));
  });
  ```

### queryMaxOsAccountNumber

queryMaxOsAccountNumber(callback: AsyncCallback&lt;number&gt;): void

查询允许创建的系统帐号的最大数量,使用callback回调异步返回结果。

Z
zengyawen 已提交
844
此接口为系统接口,三方应用不支持调用。
Z
zhangalong 已提交
845

Z
zengyawen 已提交
846
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
847

Z
zengyawen 已提交
848 849 850 851 852 853 854
**参数:**

| 参数名   | 类型                        | 必填 | 说明                                             |
| -------- | --------------------------- | ---- | ------------------------------------------------ |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调结果,返回的是允许创建的系统帐号的最大数量。 |

**示例:**
Z
zhangalong 已提交
855 856 857 858 859 860 861 862 863 864 865 866 867 868 869

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryMaxOsAccountNumber((err, maxCnt)=>{
    console.log("queryMaxOsAccountNumber err:" + JSON.stringify(err));
    console.log("queryMaxOsAccountNumber maxCnt:" + maxCnt);
  });
  ```

### queryMaxOsAccountNumber

queryMaxOsAccountNumber(): Promise&lt;number&gt;

查询允许创建的系统帐号的最大数量,使用Promise方式异步返回结果。

Z
zengyawen 已提交
870 871 872 873 874
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.Account.OsAccount

**返回值:**
Z
zhangalong 已提交
875

Z
zengyawen 已提交
876 877 878
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回结果,返回的是允许创建的系统帐号的最大数量。 |
Z
zhangalong 已提交
879

Z
zengyawen 已提交
880
**示例:**
Z
zhangalong 已提交
881 882 883 884 885 886 887 888 889 890 891 892 893 894

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryMaxOsAccountNumber().then((maxCnt) => {
    console.log('queryMaxOsAccountNumber, maxCnt: ' + maxCnt);
  }).catch((err) => {
    console.log("queryMaxOsAccountNumber err: "  + JSON.stringify(err));
  });
  ```

### getOsAccountAllConstraints

getOsAccountAllConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void

Z
zengyawen 已提交
895
获取指定系统帐号的全部约束,使用callback回调异步返回结果。
Z
zhangalong 已提交
896

Z
zengyawen 已提交
897
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
898

Z
zengyawen 已提交
899
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
900

Z
zengyawen 已提交
901 902 903 904 905 906 907 908
**参数:**

| 参数名   | 类型                                     | 必填 | 说明                                                         |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------------ |
| localId  | number                                   | 是   | 系统帐号ID。                                                 |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是   | 回调结果,返回的是该系统帐号的全部[约束](#系统帐号约束列表)。 |

**示例:**获取ID为100的系统帐号的全部约束
Z
zhangalong 已提交
909 910 911 912 913 914 915 916 917 918 919 920 921 922

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.getOsAccountAllConstraints(localId, (err, constraints)=>{
    console.log("getOsAccountAllConstraints err:" + JSON.stringify(err));
    console.log("getOsAccountAllConstraints:" + JSON.stringify(constraints));
  });
  ```

### getOsAccountAllConstraints

getOsAccountAllConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;

Z
zengyawen 已提交
923 924 925
获取指定系统帐号的全部约束,使用Promise方式异步返回结果。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
926

Z
zengyawen 已提交
927
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
928

Z
zengyawen 已提交
929
**参数:**
Z
zhangalong 已提交
930

Z
zengyawen 已提交
931 932 933
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
934

Z
zengyawen 已提交
935
**返回值:**
Z
zhangalong 已提交
936

Z
zengyawen 已提交
937 938 939 940 941
| 类型                               | 说明                                                         |
| :--------------------------------- | :----------------------------------------------------------- |
| Promise&lt;Array&lt;string&gt;&gt; | Promise实例,用于获取异步返回结果,返回的是该系统帐号的全部[约束](#系统帐号约束列表)。 |

**示例:**获取ID为100的系统帐号的全部约束
Z
zhangalong 已提交
942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.getOsAccountAllConstraints(localId).then((constraints) => {
    console.log("getOsAccountAllConstraints, constraints: " + constraints);
  }).catch((err) => {
    console.log("getOsAccountAllConstraints err: "  + JSON.stringify(err));
  });
  ```

### queryAllCreatedOsAccounts

queryAllCreatedOsAccounts(callback: AsyncCallback&lt;Array&lt;OsAccountInfo&gt;&gt;): void

查询已创建的所有系统帐号的信息列表,使用callback回调异步返回结果。

Z
zengyawen 已提交
959 960 961
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
962

Z
zengyawen 已提交
963
**参数:**
Z
zhangalong 已提交
964

Z
zengyawen 已提交
965 966 967 968 969
| 参数名   | 类型                                                         | 必填 | 说明                                               |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | 是   | 回调结果,返回的是已创建的所有系统帐号的信息列表。 |

**示例:**
Z
zhangalong 已提交
970 971 972 973 974 975 976 977 978 979 980 981 982 983 984

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryAllCreatedOsAccounts((err, accountArr)=>{
    console.log("queryAllCreatedOsAccounts err:" + JSON.stringify(err));
    console.log("queryAllCreatedOsAccounts accountArr:" + JSON.stringify(accountArr));
  });
  ```

### queryAllCreatedOsAccounts

queryAllCreatedOsAccounts(): Promise&lt;Array&lt;OsAccountInfo&gt;&gt;

查询已创建的所有系统帐号的信息列表,使用Promise方式异步返回结果。

Z
zengyawen 已提交
985 986 987
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
988

Z
zengyawen 已提交
989
**返回值:**
Z
zhangalong 已提交
990

Z
zengyawen 已提交
991 992 993 994 995
| 类型                                                        | 说明                                                         |
| :---------------------------------------------------------- | :----------------------------------------------------------- |
| Promise&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | Promise实例,用于获取异步返回结果,返回的是已创建的所有系统帐号的信息列表。 |

**示例:**
Z
zhangalong 已提交
996 997 998 999 1000 1001 1002 1003 1004 1005

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryAllCreatedOsAccounts().then((accountArr) => {
    console.log('queryAllCreatedOsAccounts, accountArr: ' + JSON.stringify(accountArr));
  }).catch((err) => {
    console.log("queryAllCreatedOsAccounts err: "  + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
1006
### queryActivatedOsAccountIds<sup>8+</sup>
Z
zhangalong 已提交
1007 1008 1009 1010 1011

queryActivatedOsAccountIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void

查询当前处于激活状态的系统帐号的ID列表,使用callback回调异步返回结果。

Z
zengyawen 已提交
1012 1013 1014
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
1015

Z
zengyawen 已提交
1016 1017 1018
| 参数名   | 类型                                     | 必填 | 说明                                                   |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是   | 回调结果,返回的是当前处于激活状态的系统帐号的ID列表。 |
Z
zhangalong 已提交
1019

Z
zengyawen 已提交
1020
**示例:**
Z
zhangalong 已提交
1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryActivatedOsAccountIds((err, idArray)=>{
    console.log("queryActivatedOsAccountIds err:" + JSON.stringify(err));
    console.log("queryActivatedOsAccountIds idArray length:" + idArray.length);
    for(var i=0;i<idArray.length;i++) {
      console.info("activated os account id: " + idArray[i]);
    }
  });
  ```

Z
zengyawen 已提交
1033
### queryActivatedOsAccountIds<sup>8+</sup>
Z
zhangalong 已提交
1034 1035 1036 1037 1038

queryActivatedOsAccountIds(): Promise&lt;Array&lt;number&gt;&gt;

查询当前处于激活状态的系统帐号的ID列表,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1039
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1040

Z
zengyawen 已提交
1041
**返回值:**
Z
zhangalong 已提交
1042

Z
zengyawen 已提交
1043 1044 1045 1046 1047
| 类型                               | 说明                                                         |
| :--------------------------------- | :----------------------------------------------------------- |
| Promise&lt;Array&lt;number&gt;&gt; | Promise实例,用于获取异步返回结果,返回的是当前处于激活状态的系统帐号的ID列表。 |

**示例:**
Z
zhangalong 已提交
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryActivatedOsAccountIds().then((idArray) => {
    console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
  }).catch((err) => {
    console.log("queryActivatedOsAccountIds err: "  + JSON.stringify(err));
  });
  ```

### createOsAccount

createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback&lt;OsAccountInfo&gt;): void

创建一个系统帐号,使用callback回调异步返回结果。

Z
zengyawen 已提交
1064 1065 1066
此接口为系统接口,三方应用不支持调用。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
1067

Z
zengyawen 已提交
1068
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1069

Z
zengyawen 已提交
1070 1071 1072 1073 1074 1075 1076 1077 1078
**参数:**

| 参数名    | 类型                                                 | 必填 | 说明                                       |
| :-------- | ---------------------------------------------------- | ---- | ------------------------------------------ |
| localName | string                                               | 是   | 创建的系统帐号的名称。                     |
| type      | [OsAccountType](#osaccounttype)                      | 是   | 创建的系统帐号的类型。                     |
| callback  | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调结果,返回的是新创建的系统帐号的信息。 |

**示例:**
Z
zhangalong 已提交
1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.createOsAccount("testName", osaccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
    console.log("createOsAccount err:" + JSON.stringify(err));
    console.log("createOsAccount osAccountInfo:" + JSON.stringify(osAccountInfo));
  });
  ```

### createOsAccount

createOsAccount(localName: string, type: OsAccountType): Promise&lt;OsAccountInfo&gt;

创建一个系统帐号,使用Promise方式异步返回结果。 

Z
zengyawen 已提交
1094 1095 1096 1097 1098
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1099

Z
zengyawen 已提交
1100
**参数:**
Z
zhangalong 已提交
1101

Z
zengyawen 已提交
1102 1103 1104 1105
| 参数名    | 类型                            | 必填 | 说明                   |
| --------- | ------------------------------- | ---- | ---------------------- |
| localName | string                          | 是   | 创建的系统帐号的名称。 |
| type      | [OsAccountType](#osaccounttype) | 是   | 创建的系统帐号的类型。 |
Z
zhangalong 已提交
1106

Z
zengyawen 已提交
1107
**返回值:**
Z
zhangalong 已提交
1108

Z
zengyawen 已提交
1109 1110 1111 1112 1113
| 类型                                           | 说明                                                         |
| :--------------------------------------------- | :----------------------------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise实例,用于获取异步返回结果,返回的是新创建的系统帐号的信息。 |

**示例:**
Z
zhangalong 已提交
1114 1115 1116 1117 1118 1119 1120 1121 1122 1123

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.createOsAccount("testAccountName", osaccount.OsAccountType.NORMAL).then((accountInfo) => {
    console.log("createOsAccount, accountInfo: " + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log("createOsAccount err: "  + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
1124
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1125 1126 1127 1128 1129

createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;OsAccountInfo&gt;): void

根据域帐号信息,创建一个系统帐号并将其与域帐号关联,使用callback回调异步返回结果。

Z
zengyawen 已提交
1130 1131 1132 1133 1134
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1135

Z
zengyawen 已提交
1136
**参数:**
Z
zhangalong 已提交
1137

Z
zengyawen 已提交
1138 1139 1140 1141 1142 1143 1144
| 参数名     | 类型                                                 | 必填 | 说明                                       |
| :--------- | ---------------------------------------------------- | ---- | ------------------------------------------ |
| type       | [OsAccountType](#osaccounttype)                      | 是   | 创建的系统帐号的类型。                     |
| domainInfo | [DomainAccountInfo](#domainaccountinfo)              | 是   | 域帐号信息。                               |
| callback   | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调结果,返回的是新创建的系统帐号的信息。 |

**示例:**
Z
zhangalong 已提交
1145 1146 1147 1148 1149 1150 1151 1152 1153 1154

  ```
  const accountManager = account_osAccount.getAccountManager();
  var domainInfo = {domain: "testDomain", accountName: "testAccountName"};
  accountManager.createOsAccountForDomain(osaccount.OsAccountType.NORMAL, domainInfo, (err, osAccountInfo)=>{
    console.log("createOsAccountForDomain err:" + JSON.stringify(err));
    console.log("createOsAccountForDomain osAccountInfo:" + JSON.stringify(osAccountInfo));
  });
  ```

Z
zengyawen 已提交
1155
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1156 1157 1158 1159 1160

createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise&lt;OsAccountInfo&gt;

根据传入的域帐号信息,创建与其关联的系统帐号,使用Promise方式异步返回结果。 

Z
zengyawen 已提交
1161 1162 1163 1164 1165 1166 1167
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
1168

Z
zengyawen 已提交
1169 1170 1171 1172
| 参数名     | 类型                                    | 必填 | 说明                   |
| ---------- | --------------------------------------- | ---- | ---------------------- |
| type       | [OsAccountType](#osaccounttype)         | 是   | 创建的系统帐号的类型。 |
| domainInfo | [DomainAccountInfo](#domainaccountinfo) | 是   | 域帐号信息。           |
Z
zhangalong 已提交
1173

Z
zengyawen 已提交
1174
**返回值:**
Z
zhangalong 已提交
1175

Z
zengyawen 已提交
1176 1177 1178
| 类型                                           | 说明                                                         |
| :--------------------------------------------- | :----------------------------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise实例,用于获取异步返回结果,返回的是新创建的系统帐号的信息。 |
Z
zhangalong 已提交
1179

Z
zengyawen 已提交
1180
**示例:**
Z
zhangalong 已提交
1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197

  ```
  const accountManager = account_osAccount.getAccountManager();
  var domainInfo = {domain: "testDomain", accountName: "testAccountName"};
  accountManager.createOsAccountForDomain(osaccount.OsAccountType.NORMAL, domainInfo).then((accountInfo) => {
    console.log("createOsAccountForDomain, account info: " + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log("createOsAccountForDomain err: "  + JSON.stringify(err));
  });
  ```

### queryCurrentOsAccount

queryCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void

查询当前进程所属的系统帐号的信息,使用callback回调异步返回结果。

Z
zengyawen 已提交
1198
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
1199

Z
zengyawen 已提交
1200
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1201

Z
zengyawen 已提交
1202 1203 1204 1205 1206 1207 1208
**参数:**

| 参数名   | 类型                                                 | 必填 | 说明                                           |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调结果,返回的是当前进程所属的系统帐号信息。 |

**示例:**
Z
zhangalong 已提交
1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryCurrentOsAccount((err, curAccountInfo)=>{
    console.log("queryCurrentOsAccount err:" + JSON.stringify(err));
    console.log("queryCurrentOsAccount curAccountInfo:" + JSON.stringify(curAccountInfo));
  });
  ```

### queryCurrentOsAccount

queryCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;

查询当前进程所属的系统帐号的信息,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1224 1225 1226 1227 1228
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

**系统能力:** SystemCapability.Account.OsAccount

**返回值:**
Z
zhangalong 已提交
1229

Z
zengyawen 已提交
1230 1231 1232
| 类型                                           | 说明                                                         |
| :--------------------------------------------- | :----------------------------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise实例,用于获取异步返回结果,返回的是当前进程所属的系统帐号信息。 |
Z
zhangalong 已提交
1233

Z
zengyawen 已提交
1234
**示例:**
Z
zhangalong 已提交
1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.queryCurrentOsAccount().then((accountInfo) => {
    console.log("queryCurrentOsAccount, accountInfo: " + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log("queryCurrentOsAccount err: "  + JSON.stringify(err));
  });
  ```

### queryOsAccountById

queryOsAccountById(localId: number, callback: AsyncCallback&lt;OsAccountInfo&gt;): void

查询指定系统帐号的信息,使用callback回调异步返回结果。

Z
zengyawen 已提交
1251
此接口为系统接口,三方应用不支持调用。
Z
zhangalong 已提交
1252

Z
zengyawen 已提交
1253
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS、ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
Z
zhangalong 已提交
1254

Z
zengyawen 已提交
1255 1256 1257 1258 1259 1260 1261 1262 1263 1264
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名   | 类型                                                 | 必填 | 说明                                     |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------- |
| localId  | number                                               | 是   | 要查询的系统帐号的ID                     |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调结果,返回的是查到的系统帐号的信息。 |

**示例:**查询ID为100的系统帐号信息
Z
zhangalong 已提交
1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.queryOsAccountById(localId, (err, accountInfo)=>{
    console.log("queryOsAccountById err:" + JSON.stringify(err));
    console.log("queryOsAccountById accountInfo:" + JSON.stringify(accountInfo));
  });
  ```

### queryOsAccountById

queryOsAccountById(localId: number): Promise&lt;OsAccountInfo&gt;

查询指定系统帐号的信息,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1281 1282 1283
此接口为系统接口,三方应用不支持调用。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS、ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
Z
zhangalong 已提交
1284

Z
zengyawen 已提交
1285
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1286

Z
zengyawen 已提交
1287
**参数:**
Z
zhangalong 已提交
1288

Z
zengyawen 已提交
1289 1290 1291
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
| localId | number | 是   | 要查询的系统帐号的ID |
Z
zhangalong 已提交
1292

Z
zengyawen 已提交
1293 1294 1295 1296 1297 1298 1299
**返回值:**

| 类型                                           | 说明                                                         |
| :--------------------------------------------- | :----------------------------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise实例,用于获取异步返回结果,返回的是查到的系统帐号的信息。 |

**示例:**查询ID为100的系统帐号信息
Z
zhangalong 已提交
1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.queryOsAccountById(localId).then((accountInfo) => {
    console.log("queryOsAccountById, accountInfo: " + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log("queryOsAccountById err: "  + JSON.stringify(err));
  });
  ```

### getOsAccountTypeFromProcess

getOsAccountTypeFromProcess(callback: AsyncCallback&lt;OsAccountType&gt;): void

查询当前进程所属的系统帐号的帐号类型,使用callback回调异步返回结果。

Z
zengyawen 已提交
1317 1318 1319
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
1320

Z
zengyawen 已提交
1321 1322 1323
| 参数名   | 类型                                                 | 必填 | 说明                                                 |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountType](#osaccounttype)&gt; | 是   | 回调结果,返回的是当前进程所属的系统帐号的帐号类型。 |
Z
zhangalong 已提交
1324

Z
zengyawen 已提交
1325
**示例:**
Z
zhangalong 已提交
1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getOsAccountTypeFromProcess((err, accountType) => {
    console.log("getOsAccountTypeFromProcess err: " + JSON.stringify(err));
    console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
  });
  ```

### getOsAccountTypeFromProcess

getOsAccountTypeFromProcess(): Promise&lt;OsAccountType&gt;

查询当前进程所属的系统帐号的帐号类型,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1341
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1342

Z
zengyawen 已提交
1343
**返回值:**
Z
zhangalong 已提交
1344

Z
zengyawen 已提交
1345 1346 1347 1348 1349
| 类型                                           | 说明                                                         |
| :--------------------------------------------- | :----------------------------------------------------------- |
| Promise&lt;[OsAccountType](#osaccounttype)&gt; | Promise实例,用于获取异步返回结果,返回的是当前进程所属的系统帐号的帐号类型。 |

**示例:**
Z
zhangalong 已提交
1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getOsAccountTypeFromProcess().then((accountType) => {
    console.log('getOsAccountTypeFromProcess, accountType: ' + accountType);
  }).catch((err) => {
    console.log("getOsAccountTypeFromProcess err: "  + JSON.stringify(err));
  });
  ```

### getDistributedVirtualDeviceId

getDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void

获取分布式虚拟设备ID,使用callback回调异步返回结果。

Z
zengyawen 已提交
1366 1367 1368
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1369

Z
zengyawen 已提交
1370
**参数:**
Z
zhangalong 已提交
1371

Z
zengyawen 已提交
1372 1373 1374 1375 1376
| 参数名   | 类型                        | 必填 | 说明                                 |
| -------- | --------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback&lt;string&gt; | 是   | 回调结果,返回的是分布式虚拟设备ID。 |

**示例:**
Z
zhangalong 已提交
1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getDistributedVirtualDeviceId((err, virtualID) => {
    console.log("getDistributedVirtualDeviceId err: " + JSON.stringify(err));
    console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID);
  });
  ```

### getDistributedVirtualDeviceId

getDistributedVirtualDeviceId(): Promise&lt;string&gt;

获取分布式虚拟设备ID,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1392 1393 1394
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1395

Z
zengyawen 已提交
1396
**返回值:**
Z
zhangalong 已提交
1397

Z
zengyawen 已提交
1398 1399 1400 1401 1402
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise&lt;string&gt; | Promise实例,用于获取异步返回结果,返回的是分布式虚拟设备ID。 |

**示例:**
Z
zhangalong 已提交
1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418

  ```
  const accountManager = account_osAccount.getAccountManager();
  accountManager.getDistributedVirtualDeviceId().then((virtualID) => {
    console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID);
  }).catch((err) => {
    console.log("getDistributedVirtualDeviceId err: "  + JSON.stringify(err));
  });
  ```

### getOsAccountProfilePhoto

getOsAccountProfilePhoto(localId: number, callback: AsyncCallback&lt;string&gt;): void

获取指定系统帐号的头像信息,使用callback回调异步返回结果。

Z
zengyawen 已提交
1419 1420 1421 1422 1423 1424 1425
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
1426

Z
zengyawen 已提交
1427 1428 1429 1430
| 参数名   | 类型                        | 必填 | 说明                                     |
| -------- | --------------------------- | ---- | ---------------------------------------- |
| localId  | number                      | 是   | 系统帐号ID。                             |
| callback | AsyncCallback&lt;string&gt; | 是   | 回调结果,返回的是该系统帐号的头像信息。 |
Z
zhangalong 已提交
1431

Z
zengyawen 已提交
1432
**示例:**获取ID为100的系统帐号的头像
Z
zhangalong 已提交
1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.getOsAccountProfilePhoto(localId, (err, photo)=>{
    console.log("getOsAccountProfilePhoto err:" + JSON.stringify(err));
    console.log("get photo:" + photo + " by localId: " + localId);
  });
  ```

### getOsAccountProfilePhoto

getOsAccountProfilePhoto(localId: number): Promise&lt;string&gt;

获取指定系统帐号的头像信息,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1449
此接口为系统接口,三方应用不支持调用。
Z
zhangalong 已提交
1450

Z
zengyawen 已提交
1451
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
1452

Z
zengyawen 已提交
1453
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1454

Z
zengyawen 已提交
1455
**参数:**
Z
zhangalong 已提交
1456

Z
zengyawen 已提交
1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |

**返回值:**

| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise&lt;string&gt; | Promise实例,用于获取异步返回结果,返回的是该系统帐号的头像信息。 |

**示例:**获取ID为100的系统帐号的头像
Z
zhangalong 已提交
1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.getOsAccountProfilePhoto(localId).then((photo) => {
    console.log("getOsAccountProfilePhoto: " + photo);
  }).catch((err) => {
    console.log("getOsAccountProfilePhoto err: "  + JSON.stringify(err));
  });
  ```

### setOsAccountProfilePhoto

setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback&lt;void&gt;): void

为指定系统帐号设置头像信息,使用callback回调异步返回结果。

Z
zengyawen 已提交
1485 1486 1487
此接口为系统接口,三方应用不支持调用。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
1488

Z
zengyawen 已提交
1489
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1490

Z
zengyawen 已提交
1491 1492 1493 1494 1495 1496 1497 1498 1499
**参数:**

| 参数名   | 类型                      | 必填 | 说明         |
| -------- | ------------------------- | ---- | ------------ |
| localId  | number                    | 是   | 系统帐号ID。 |
| photo    | string                    | 是   | 头像信息。   |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调结果。   |

**示例:**给ID为100的系统帐号设置头像
Z
zhangalong 已提交
1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  var photo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA"+
  "Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y"+
  "q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo"+
  "+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=="
  osAccountManager.setOsAccountProfilePhoto(localId, photo, (err)=>{
    console.log("setOsAccountProfilePhoto err:" + JSON.stringify(err));
  });
  ```

### setOsAccountProfilePhoto

setOsAccountProfilePhoto(localId: number, photo: string): Promise&lt;void&gt;

为指定系统帐号设置头像信息,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1519 1520 1521
此接口为系统接口,三方应用不支持调用。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
1522

Z
zengyawen 已提交
1523
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1524

Z
zengyawen 已提交
1525
**参数:**
Z
zhangalong 已提交
1526

Z
zengyawen 已提交
1527 1528 1529 1530
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
| photo   | string | 是   | 头像信息。   |
Z
zhangalong 已提交
1531

Z
zengyawen 已提交
1532 1533 1534 1535 1536 1537 1538
**返回值:**

| 类型                | 说明                                |
| :------------------ | :---------------------------------- |
| Promise&lt;void&gt; | Promise实例,用于获取异步返回结果。 |

**示例:**给ID为100的系统帐号设置头像
Z
zhangalong 已提交
1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  var photo = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA"+
  "Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y"+
  "q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo"+
  "+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=="
  accountManager.setOsAccountProfilePhoto(localId, photo).then(() => {
    console.log("setOsAccountProfilePhoto success");
  }).catch((err) => {
    console.log("setOsAccountProfilePhoto err: "  + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
1554
### getOsAccountLocalIdBySerialNumber<sup>8+</sup>
Z
zhangalong 已提交
1555 1556 1557 1558 1559

getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void

通过SN码查询与其关联的系统帐号的帐号ID,使用callback回调异步返回结果。

Z
zengyawen 已提交
1560
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1561

Z
zengyawen 已提交
1562
**参数:**
Z
zhangalong 已提交
1563

Z
zengyawen 已提交
1564 1565 1566 1567 1568 1569
| 参数名       | 类型                        | 必填 | 说明                                             |
| ------------ | --------------------------- | ---- | ------------------------------------------------ |
| serialNumber | number                      | 是   | 帐号SN码。                                       |
| callback     | AsyncCallback&lt;number&gt; | 是   | 回调结果,返回的是与SN码关联的系统帐号的帐号ID。 |

**示例:**查询与SN码12345关联的系统帐号的ID
Z
zhangalong 已提交
1570 1571 1572 1573 1574 1575 1576 1577 1578 1579

  ```
  const accountManager = account_osAccount.getAccountManager();
  var serialNumber = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err, localId)=>{
    console.log("ger localId err:" + JSON.stringify(err));
    console.log("get localId:" + localId + " by serialNumber: " + serialNumber);
  });
  ```

Z
zengyawen 已提交
1580
### getOsAccountLocalIdBySerialNumber<sup>8+</sup>
Z
zhangalong 已提交
1581 1582 1583 1584 1585

getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise&lt;number&gt;

通过SN码查询与其关联的系统帐号的帐号ID,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1586 1587 1588
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
1589

Z
zengyawen 已提交
1590 1591 1592
| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |
Z
zhangalong 已提交
1593

Z
zengyawen 已提交
1594
**返回值:**
Z
zhangalong 已提交
1595

Z
zengyawen 已提交
1596 1597 1598
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回结果,返回的是与SN码关联的系统帐号的帐号ID。 |
Z
zhangalong 已提交
1599

Z
zengyawen 已提交
1600
**示例:**查询与SN码12345关联的系统帐号的ID
Z
zhangalong 已提交
1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611

  ```
  const accountManager = account_osAccount.getAccountManager();
  var serialNumber = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId) => {
    console.log("getOsAccountLocalIdBySerialNumber localId: " + localId);
  }).catch((err) => {
    console.log("getOsAccountLocalIdBySerialNumber err: "  + JSON.stringify(err));
  });
  ```

Z
zengyawen 已提交
1612
### getSerialNumberByOsAccountLocalId<sup>8+</sup>
Z
zhangalong 已提交
1613 1614 1615 1616 1617

getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void

通过系统帐号ID获取与该系统帐号关联的SN码,使用callback回调异步返回结果。

Z
zengyawen 已提交
1618
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1619

Z
zengyawen 已提交
1620
**参数:**
Z
zhangalong 已提交
1621

Z
zengyawen 已提交
1622 1623 1624 1625 1626 1627
| 参数名   | 类型                        | 必填 | 说明                                       |
| -------- | --------------------------- | ---- | ------------------------------------------ |
| localId  | number                      | 是   | 系统帐号ID。                               |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调结果,返回的是与该系统帐号关联的SN码。 |

**示例:**获取ID为100的系统帐号关联的SN码
Z
zhangalong 已提交
1628 1629 1630 1631 1632 1633 1634 1635 1636 1637

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId, (err, serialNumber)=>{
    console.log("ger serialNumber err:" + JSON.stringify(err));
    console.log("get serialNumber:" + serialNumber + " by localId: " + localId);
  });
  ```

Z
zengyawen 已提交
1638
### getSerialNumberByOsAccountLocalId<sup>8+</sup>
Z
zhangalong 已提交
1639 1640 1641 1642 1643

getSerialNumberByOsAccountLocalId(localId: number): Promise&lt;number&gt;

通过系统帐号ID获取与该系统帐号关联的SN码,使用Promise方式异步返回结果。

Z
zengyawen 已提交
1644 1645 1646
**系统能力:** SystemCapability.Account.OsAccount

**参数:**
Z
zhangalong 已提交
1647

Z
zengyawen 已提交
1648 1649 1650
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
1651

Z
zengyawen 已提交
1652
**返回值:**
Z
zhangalong 已提交
1653

Z
zengyawen 已提交
1654 1655 1656
| 类型                  | 说明                                                         |
| :-------------------- | :----------------------------------------------------------- |
| Promise&lt;number&gt; | Promise实例,用于获取异步返回结果,返回的是与该系统帐号关联的SN码。 |
Z
zhangalong 已提交
1657

Z
zengyawen 已提交
1658
**示例:**获取ID为100的系统帐号关联的SN码
Z
zhangalong 已提交
1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675

  ```
  const accountManager = account_osAccount.getAccountManager();
  var localId = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber) => {
    console.log("getSerialNumberByOsAccountLocalId serialNumber: " + serialNumber);
  }).catch((err) => {
    console.log("getSerialNumberByOsAccountLocalId err: "  + JSON.stringify(err));
  });
  ```

### on

on(type: 'activate' | 'activating', name: string, callback: Callback&lt;number&gt;): void

订阅系统帐号的变动信息,使用callback回调异步返回结果。

Z
zengyawen 已提交
1676 1677 1678
此接口为系统接口,三方应用不支持调用。

**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
Z
zhangalong 已提交
1679

Z
zengyawen 已提交
1680
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1681

Z
zengyawen 已提交
1682 1683 1684 1685 1686 1687 1688 1689 1690
**参数:**

| 参数名   | 类型                       | 必填 | 说明                                                         |
| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
| type     | 'activate' \| 'activating' | 是   | 订阅类型,activate表示订阅的是帐号已激活完成的事件,activating表示订阅的是帐号正在激活的事件。 |
| name     | string                     | 是   | 订阅名称,可自定义,要求非空且长度不超过1024字节。           |
| callback | Callback&lt;number&gt;     | 是   | 订阅系统帐号变动信息的回调,表示当前事件对应的系统帐号ID。   |

**示例:**
Z
zhangalong 已提交
1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705

  ```
  const accountManager = account_osAccount.getAccountManager();
  function onCallback(receiveLocalId){
    console.log("receive localId:" + receiveLocalId);
  }
  accountManager.on("activating", "osAccountOnOffNameA", onCallback);
  ```

### off

off(type: 'activate' | 'activating', name: string, callback?: Callback&lt;number&gt;): void

取消订阅系统帐号的变动信息,使用callback回调异步返回结果。

Z
zengyawen 已提交
1706 1707 1708 1709 1710
此接口为系统接口,三方应用不支持调用。

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

**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
1711

Z
zengyawen 已提交
1712
**参数:**
Z
zhangalong 已提交
1713

Z
zengyawen 已提交
1714 1715 1716 1717 1718 1719 1720
| 参数名   | 类型                       | 必填 | 说明                                                         |
| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
| type     | 'activate' \| 'activating' | 是   | 取消订阅类型,activate表示取消订阅帐号已激活完成的事件,activating取消订阅帐号正在激活的事件。 |
| name     | string                     | 是   | 订阅名称,可自定义,,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。 |
| callback | Callback&lt;number&gt;     | 否   | 取消订阅系统帐号变化的回调,默认返回0。                      |

**示例:**
Z
zhangalong 已提交
1721 1722 1723 1724 1725 1726 1727 1728 1729 1730

  ```
  const accountManager = account_osAccount.getAccountManager();
  function offCallback(){
    console.log("off enter")
  }
  accountManager.off("activating", "osAccountOnOffNameA", offCallback);
  ```

## OsAccountInfo
Z
zengyawen 已提交
1731

Z
zengyawen 已提交
1732 1733 1734 1735
系统帐号信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

Z
zengyawen 已提交
1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752
| 参数名                         | 类型                                                         | 必填 | 说明                              |
| ------------------------------ | ------------------------------------------------------------ | ---- | --------------------------------- |
| localId                        | number                                                       | 是   | 系统帐号ID。                      |
| localName                      | string                                                       | 是   | 系统帐号名称。                    |
| type                           | [OsAccountType](#osaccounttype)                              | 是   | 系统帐号类型                      |
| constraints                    | Array&lt;string&gt;                                          | 否   | 系统帐号[约束](#系统帐号约束列表) |
| isVerified<sup>8+</sup>        | boolean                                                      | 是   | 帐号是否锁屏                      |
| photo<sup>8+</sup>             | string                                                       | 否   | 系统帐号头像                      |
| createTime<sup>8+</sup>        | number                                                       | 是   | 系统帐号创建时间                  |
| lastLoginTime<sup>8+</sup>     | number                                                       | 否   | 系统帐号最后一次登录时间          |
| serialNumber<sup>8+</sup>      | number                                                       | 是   | 系统帐号SN码                      |
| isActived<sup>8+</sup>         | boolean                                                      | 是   | 系统帐号激活状态                  |
| isCreateCompleted<sup>8+</sup> | boolean                                                      | 是   | 系统帐号创建是否完整              |
| distributedInfo                | [distributedAccount.DistributedInfo](js-apis-distributed-account.md) | 否   | 分布式帐号信息                    |
| domainInfo<sup>8+</sup>        | [DomainAccountInfo](#domainaccountinfo)                      | 否   | 域帐号信息                        |

## DomainAccountInfo<sup>8+</sup>
Z
zengyawen 已提交
1753

Z
zengyawen 已提交
1754 1755 1756 1757 1758 1759 1760 1761
域帐号信息。

**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

| 参数名      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| domain      | string | 是   | 域名。     |
| accountName | string | 是   | 域帐号名。 |
Z
zhangalong 已提交
1762 1763 1764

## 系统帐号约束列表

Z
zengyawen 已提交
1765 1766 1767 1768 1769 1770 1771 1772 1773 1774
| 约束                                  | 说明                           |
| ------------------------------------- | ------------------------------ |
| constraint.wifi                       | 禁止使用wifi                   |
| constraint.wifi.set                   | 禁止配置wifi                   |
| constraint.locale.set                 | 禁止配置设备语言               |
| constraint.app.accounts               | 禁止添加和删除应用帐号         |
| constraint.apps.install               | 禁止安装应用                   |
| constraint.apps.uninstall             | 禁止卸载应用                   |
| constraint.location.shared            | 禁止打开位置共享               |
| constraint.unknown.sources.install    | 禁止安装未知来源的应用         |
Z
zhangalong 已提交
1775
| constraint.global.unknown.app.install | 禁止所有用户安装未知来源的应用 |
Z
zengyawen 已提交
1776 1777
| constraint.bluetooth.set              | 禁止配置蓝牙                   |
| constraint.bluetooth | 禁止使用蓝牙 |
Z
zhangalong 已提交
1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796
| constraint.bluetooth.share | 禁止共享使用蓝牙 |
| constraint.usb.file.transfer | 禁止通过USB传输文件 |
| constraint.credentials.set | 禁止配置用户凭据 |
| constraint.os.account.remove | 禁止删除用户 |
| constraint.managed.profile.remove | 禁止删除此用户的托管配置文件 |
| constraint.debug.features.use | J禁止启用或访问调试功能 |
| constraint.vpn.set | 禁止配置VPN |
| constraint.date.time.set | 禁止配置日期时间和时区 |
| constraint.tethering.config | 禁止配置Tethering |
| constraint.network.reset | 禁止重置网络设置 |
| constraint.factory.reset | 禁止出厂设置 |
| constraint.os.account.create | 禁止创建新用户 |
| constraint.add.managed.profile | 禁止添加托管配置文件 |
| constraint.apps.verify.disable | 强制应用程序验证 |
| constraint.cell.broadcasts.set | 禁止配置小区广播 |
| constraint.mobile.networks.set | 禁止配置移动网络 |
| constraint.control.apps | 禁止在设置或启动模块中修改应用程序 |
| constraint.physical.media | 禁止装载物理外部介质 |
| constraint.microphone | 禁止使用麦克风 |
L
lichenchen 已提交
1797 1798
| constraint.microphone.unmute | 禁止取消麦克风静音 |
| constraint.volume.adjust | 禁止调整音量 |
Z
zhangalong 已提交
1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815
| constraint.calls.outgoing | 禁止拨打外呼电话 |
| constraint.sms.use | 禁止发送或接收短信 |
| constraint.fun | 禁止享受乐趣 |
| constraint.windows.create | 禁止创建应用程序窗口以外的窗口 |
| constraint.system.error.dialogs | 禁止显示崩溃或无响应应用程序的系统错误对话框 |
| constraint.cross.profile.copy.paste | 禁止通过将数据粘贴到其他用户或配置文件来导出剪贴板内容 |
| constraint.beam.outgoing | 禁止使用NFC从应用程序传送数据 |
| constraint.wallpaper | 禁止管理壁纸 |
| constraint.safe.boot | 禁止进入安全引导模式 |
| constraint.parent.profile.app.linking | 允许父配置文件中的应用程序处理来自托管配置文件的Web链接 |
| constraint.audio.record | 禁止录制音频 |
| constraint.camera.use | 禁止使用摄像机 |
| constraint.os.account.background.run | 禁止在后台运行 |
| constraint.data.roam | 禁止漫游通话时使用蜂窝数据 |
| constraint.os.account.set.icon | 禁止修改用户头像 |
| constraint.wallpaper.set | 禁止设置壁纸 |
| constraint.oem.unlock | 禁止启用oem解锁 |
L
lichenchen 已提交
1816
| constraint.device.unmute | 禁止取消设备静音 |
Z
zhangalong 已提交
1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828
| constraint.password.unified | 禁止托管配置文件与主用户进行统一锁屏质询 |
| constraint.autofill | 禁止使用自动填充服务 |
| constraint.content.capture | 禁止捕获用户屏幕 |
| constraint.content.suggestions | 禁止接收内容建议 |
| constraint.os.account.start | 禁止切换用户 |
| constraint.location.set | 禁止配置位置服务 |
| constraint.airplane.mode.set | 禁止飞行模式 |
| constraint.brightness.set | 禁止配置亮度 |
| constraint.share.into.profile | 禁止将主要用户的文件/图片/数据共享到托管配置文件中 |
| constraint.ambient.display | 禁止显示环境 |
| constraint.screen.timeout.set | 禁止配置屏幕关闭的超时 |
| constraint.print | 禁止打印 |
Z
zengyawen 已提交
1829
| constraint.private.dns.set | 禁止配置专用DNS |