js-apis-osAccount.md 257.6 KB
Newer Older
1
# @ohos.account.osAccount (系统帐号管理)
Z
zhangalong 已提交
2

J
jidong 已提交
3
本模块提供管理系统帐号的基础能力,包括系统帐号的添加、删除、查询、设置、订阅、启动等功能。
L
lichenchen 已提交
4

5 6
> **说明:**
>
Z
zhangalong 已提交
7 8 9 10 11
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

12
```ts
Z
zhangalong 已提交
13 14 15 16 17 18 19
import account_osAccount from '@ohos.account.osAccount';
```

## account_osAccount.getAccountManager

getAccountManager(): AccountManager

J
jidong 已提交
20
获取系统帐号管理对象。
Z
zhangalong 已提交
21

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

Z
zengyawen 已提交
24
**返回值:**
25

J
jidong 已提交
26 27 28
| 类型                              | 说明              |
| --------------------------------- | ---------------- |
| [AccountManager](#accountmanager) | 系统帐号管理对象。 |
Z
zengyawen 已提交
29

30
**示例:**
31
  ```ts
F
fanchenxuan 已提交
32
  let accountManager = account_osAccount.getAccountManager();
Z
zhangalong 已提交
33 34 35
  ```

## OsAccountType
Z
zengyawen 已提交
36

J
jidong 已提交
37
表示系统帐号类型的枚举。
Z
zengyawen 已提交
38

J
jidong 已提交
39
**系统能力:** SystemCapability.Account.OsAccount。
Z
zengyawen 已提交
40

41
| 名称   | 值 | 说明         |
J
jidong 已提交
42
| ------ | ------ | ----------- |
Z
zengyawen 已提交
43 44 45
| ADMIN  | 0      | 管理员帐号。 |
| NORMAL | 1      | 普通帐号。   |
| GUEST  | 2      | 访客帐号。   |
Z
zhangalong 已提交
46 47 48

## AccountManager

J
jidong 已提交
49
系统帐号管理类。
Z
zhangalong 已提交
50 51 52 53 54

### activateOsAccount

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

J
jidong 已提交
55
激活指定系统帐号。使用callback异步回调。
Z
zhangalong 已提交
56

J
jidong 已提交
57
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
58

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

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

Z
zengyawen 已提交
63
**参数:**
Z
zhangalong 已提交
64

J
jidong 已提交
65 66 67 68 69 70 71 72 73
| 参数名   | 类型                       | 必填 | 说明                                                |
| -------- | ------------------------- | ---- | -------------------------------------------------- |
| localId  | number                    | 是   | 系统帐号ID。                  |
| callback | AsyncCallback<void> | 是   | 回调函数。当帐号激活成功时,err为null,否则为错误对象。 |

**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
74
| 12300001 | System service exception. |
J
jidong 已提交
75
| 12300002 | Invalid localId.    |
J
jidong 已提交
76 77 78
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
| 12300009 | Account has been activated. |
Z
zengyawen 已提交
79

80
**示例:** 激活ID为100的系统帐号
81
  ```ts
82 83
  import { BusinessError } from '@ohos.base';
  let localId: number = 100;
84
  try {
85
    accountManager.activateOsAccount(localId, (err: BusinessError)=>{
J
jidong 已提交
86
      if (err) {
87
        console.error(`activateOsAccount failed, code is ${err.code}, message is ${err.message}`);
J
jidong 已提交
88
      } else {
C
chennian 已提交
89
        console.log('activateOsAccount successfully');
J
jidong 已提交
90
      }
91
    });
J
jidong 已提交
92
  } catch (err) {
C
cc_ggboy 已提交
93 94 95
    let code = (err as BusinessError).code
    let message = (err as BusinessError).message
    console.error(`activateOsAccount failed, code is ${code}, message is ${message}`);
96
  }
Z
zhangalong 已提交
97 98 99 100 101 102
  ```

### activateOsAccount

activateOsAccount(localId: number): Promise<void>

J
jidong 已提交
103
激活指定系统帐号。使用Promise异步回调。
Z
zhangalong 已提交
104

J
jidong 已提交
105
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
106

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

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

Z
zengyawen 已提交
111
**参数:**
Z
zhangalong 已提交
112

Z
zengyawen 已提交
113 114
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
J
jidong 已提交
115
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
116

Z
zengyawen 已提交
117
**返回值:**
Z
zhangalong 已提交
118

J
jidong 已提交
119
| 类型                | 说明                                  |
J
jidong 已提交
120
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
121
| Promise<void> | Promise对象,无返回结果的Promise对象。 |
J
jidong 已提交
122 123 124 125 126

**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
127
| 12300001 | System service exception. |
J
jidong 已提交
128
| 12300002 | Invalid localId.    |
J
jidong 已提交
129 130 131
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
| 12300009 | Account has been activated. |
Z
zengyawen 已提交
132

133
**示例:** 激活ID为100的系统帐号
134
  ```ts
135
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
136
  let accountManager = account_osAccount.getAccountManager();
137
  let localId: number = 100;
138 139
  try {
    accountManager.activateOsAccount(localId).then(() => {
J
jidong 已提交
140
      console.log('activateOsAccount successfully');
141
    }).catch((err: BusinessError) => {
J
jidong 已提交
142
      console.log('activateOsAccount failed, err:' + JSON.stringify(err));
143 144
    });
  } catch (e) {
C
chennian 已提交
145
    console.log('activateOsAccount exception: ' + JSON.stringify(e));
146 147 148
  }
  ```

J
jidong 已提交
149
### checkMultiOsAccountEnabled<sup>9+</sup>
150

J
jidong 已提交
151
checkMultiOsAccountEnabled(callback: AsyncCallback&lt;boolean&gt;): void
152

J
jidong 已提交
153
判断是否支持多系统帐号。使用callback异步回调。
154 155 156 157 158

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

**参数:**

J
jidong 已提交
159 160 161
| 参数名   | 类型                         | 必填 | 说明                                                     |
| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示支持多系统帐号;返回false表示不支持。 |
162

J
jidong 已提交
163 164 165 166 167 168
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

169 170
**示例:**

171
  ```ts
172
  import { BusinessError } from '@ohos.base';
173 174
  let accountManager = account_osAccount.getAccountManager();
  try {
175
    accountManager.checkMultiOsAccountEnabled((err: BusinessError, isEnabled: boolean) => {
J
jidong 已提交
176
      if (err) {
177
        console.error(`checkMultiOsAccountEnabled failed, code is ${err.code}, message is ${err.message}`);
J
jidong 已提交
178
      } else {
C
chennian 已提交
179
      console.log('checkMultiOsAccountEnabled successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
180
      }
181
    });
J
jidong 已提交
182
  } catch (err) {
C
cc_ggboy 已提交
183 184 185
    let code = (err as BusinessError).code
    let message = (err as BusinessError).message
    console.error(`checkMultiOsAccountEnabled failed, code is ${code}, message is ${message}`);
186
  }
Z
zhangalong 已提交
187 188
  ```

J
jidong 已提交
189
### checkMultiOsAccountEnabled<sup>9+</sup>
190

J
jidong 已提交
191
checkMultiOsAccountEnabled(): Promise&lt;boolean&gt;
192

J
jidong 已提交
193
判断是否支持多系统帐号。使用Promise异步回调。
194 195 196 197 198

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

**返回值:**

J
jidong 已提交
199 200 201
| 类型                   | 说明                                                        |
| :--------------------- | :--------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示支持多系统帐号;返回false表示不支持。 |
202

J
jidong 已提交
203 204 205 206 207 208
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

209 210
**示例:**

211
  ```ts
212
  import { BusinessError } from '@ohos.base';
213 214
  try {
    let accountManager = account_osAccount.getAccountManager();
215
    accountManager.checkMultiOsAccountEnabled().then((isEnabled: boolean) => {
J
jidong 已提交
216
      console.log('checkMultiOsAccountEnabled successfully, isEnabled: ' + isEnabled);
217
    }).catch((err: BusinessError) => {
218
      console.error(`checkMultiOsAccountEnabled failed, code is ${err.code}, message is ${err.message}`);
219
    });
J
jidong 已提交
220
  } catch (err) {
C
cc_ggboy 已提交
221 222 223
    let code = (err as BusinessError).code
    let message = (err as BusinessError).message
    console.error(`checkMultiOsAccountEnabled failed, code is ${code}, message is ${message}`);
224 225 226
  }
  ```

J
jidong 已提交
227
### checkOsAccountActivated<sup>9+</sup>
Z
zhangalong 已提交
228

J
jidong 已提交
229
checkOsAccountActivated(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
Z
zhangalong 已提交
230

J
jidong 已提交
231
判断指定系统帐号是否处于激活状态。使用callback异步回调。
Z
zhangalong 已提交
232

J
jidong 已提交
233
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
234

Z
zengyawen 已提交
235 236 237
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
239 240 241 242
| 参数名   | 类型                         | 必填 | 说明                                                     |
| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
| localId  | number                       | 是   | 系统帐号ID。                                             |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示帐号已激活;返回false表示帐号未激活。 |
Z
zhangalong 已提交
243

J
jidong 已提交
244 245 246 247
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
248
| 12300001 | System service exception. |
J
jidong 已提交
249
| 12300002 | Invalid localId.    |
J
jidong 已提交
250
| 12300003 | Account not found. |
J
jidong 已提交
251 252

**示例:** 判断ID为100的系统帐号是否处于激活状态
Z
zhangalong 已提交
253

254
  ```ts
255
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
256
  let accountManager = account_osAccount.getAccountManager();
257
  let localId: number = 100;
J
jidong 已提交
258
  try {
259
    accountManager.checkOsAccountActivated(localId, (err: BusinessError, isActivated: boolean) => {
J
jidong 已提交
260 261 262 263 264 265 266
      if (err) {
        console.log('checkOsAccountActivated failed, error:' + JSON.stringify(err));
      } else {
        console.log('checkOsAccountActivated successfully, isActivated:' + isActivated);
      }
    });
  } catch (err) {
C
chennian 已提交
267
    console.log('checkOsAccountActivated exception: ' + JSON.stringify(err));
J
jidong 已提交
268
  }
Z
zhangalong 已提交
269 270
  ```

J
jidong 已提交
271
### checkOsAccountActivated<sup>9+</sup>
Z
zhangalong 已提交
272

J
jidong 已提交
273
checkOsAccountActivated(localId: number): Promise&lt;boolean&gt;
Z
zhangalong 已提交
274

J
jidong 已提交
275
判断指定系统帐号是否处于激活状态。使用Promise异步回调。
Z
zhangalong 已提交
276

J
jidong 已提交
277
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
278

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

J
jidong 已提交
281 282 283 284 285 286
**参数:**

| 参数名  | 类型   | 必填 | 说明                               |
| ------- | ------ | ---- | --------------------------------- |
| localId | number | 是   | 系统帐号ID。 |

Z
zengyawen 已提交
287
**返回值:**
Z
zhangalong 已提交
288

J
jidong 已提交
289 290 291
| 类型                   | 说明                                                       |
| ---------------------- | ---------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示帐号已激活;返回false表示帐号未激活。 |
Z
zengyawen 已提交
292

J
jidong 已提交
293 294 295 296
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
297
| 12300001 | System service exception. |
J
jidong 已提交
298
| 12300002 | Invalid localId.    |
J
jidong 已提交
299
| 12300003 | Account not found. |
J
jidong 已提交
300 301

**示例:** 判断ID为100的系统帐号是否处于激活状态
Z
zhangalong 已提交
302

303
  ```ts
304
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
305
  let accountManager = account_osAccount.getAccountManager();
306
  let localId: number = 100;
J
jidong 已提交
307
  try {
308
    accountManager.checkOsAccountActivated(localId).then((isActivated: boolean) => {
J
jidong 已提交
309
      console.log('checkOsAccountActivated successfully, isActivated: ' + isActivated);
310
    }).catch((err: BusinessError) => {
C
chennian 已提交
311
      console.log('checkOsAccountActivated failed, error: ' + JSON.stringify(err));
J
jidong 已提交
312 313
    });
  } catch (err) {
C
chennian 已提交
314
    console.log('checkOsAccountActivated exception: ' + JSON.stringify(err));
J
jidong 已提交
315
  }
Z
zhangalong 已提交
316 317
  ```

C
cclicn 已提交
318
### checkOsAccountConstraintEnabled<sup>9+</sup>
319

C
cclicn 已提交
320
checkOsAccountConstraintEnabled(localId: number, constraint: string, callback: AsyncCallback&lt;boolean&gt;): void
321

J
jidong 已提交
322
判断指定系统帐号是否具有指定约束。使用callback异步回调。
323

C
cclicn 已提交
324
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
325 326 327 328 329

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

**参数:**

J
jidong 已提交
330 331 332 333 334
| 参数名     | 类型                         | 必填 | 说明                                                               |
| ---------- | ---------------------------- | ---- | ----------------------------------------------------------------- |
| localId    | number                       | 是   | 系统帐号ID。                                 |
| constraint | string                       | 是   | 指定的[约束](#系统帐号约束列表)名称。                                |
| callback   | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
335

J
jidong 已提交
336 337 338 339
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
340 341 342
| 12300001 | System service exception. |
| 12300002 | Invalid localId or constraint.    |
| 12300003 | Account not found. |
J
jidong 已提交
343 344

**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
345

346
  ```ts
347
  import { BusinessError } from '@ohos.base';
348
  let accountManager = account_osAccount.getAccountManager();
349 350
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
351
  try {
352
    accountManager.checkOsAccountConstraintEnabled(localId, constraint, (err: BusinessError, isEnabled: boolean)=>{
J
jidong 已提交
353
      if (err) {
C
chennian 已提交
354
        console.log('checkOsAccountConstraintEnabled failed, error: ' + JSON.stringify(err));
J
jidong 已提交
355
      } else {
C
chennian 已提交
356
        console.log('checkOsAccountConstraintEnabled successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
357
      }
358
    });
J
jidong 已提交
359
  } catch (err) {
C
chennian 已提交
360
    console.log('checkOsAccountConstraintEnabled exception: ' + JSON.stringify(err));
361 362 363
  }
  ```

C
cclicn 已提交
364
### checkOsAccountConstraintEnabled<sup>9+</sup>
365

C
cclicn 已提交
366
checkOsAccountConstraintEnabled(localId: number, constraint: string): Promise&lt;boolean&gt;
367

J
jidong 已提交
368
判断指定系统帐号是否具有指定约束。使用Promise异步回调。
369

C
cclicn 已提交
370
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
371 372 373 374 375

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

**参数:**

J
jidong 已提交
376 377 378 379
| 参数名     | 类型   | 必填 | 说明                                |
| ---------- | ------ | ---- | ---------------------------------- |
| localId    | number | 是   | 系统帐号ID。  |
| constraint | string | 是   | 指定的[约束](#系统帐号约束列表)名称。 |
380 381 382

**返回值:**

J
jidong 已提交
383 384 385
| 类型                   | 说明                                                                  |
| --------------------- | --------------------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
386

J
jidong 已提交
387 388 389 390
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
391 392 393
| 12300001 | System service exception. |
| 12300002 | Invalid localId or constraint.    |
| 12300003 | Account not found. |
J
jidong 已提交
394 395

**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
396

397
  ```ts
398
  import { BusinessError } from '@ohos.base';
399
  let accountManager = account_osAccount.getAccountManager();
400 401
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
402
  try {
403
    accountManager.checkOsAccountConstraintEnabled(localId, constraint).then((isEnabled: boolean) => {
C
chennian 已提交
404
      console.log('checkOsAccountConstraintEnabled successfully, isEnabled: ' + isEnabled);
405
    }).catch((err: BusinessError) => {
C
chennian 已提交
406
      console.log('checkOsAccountConstraintEnabled failed, error: ' + JSON.stringify(err));
407
    });
J
jidong 已提交
408
  } catch (err) {
C
chennian 已提交
409
    console.log('checkOsAccountConstraintEnabled exception: ' + JSON.stringify(err));
410 411 412
  }
  ```

J
jidong 已提交
413
### checkOsAccountTestable<sup>9+</sup>
Z
zhangalong 已提交
414

J
jidong 已提交
415
checkOsAccountTestable(callback: AsyncCallback&lt;boolean&gt;): void
416

J
jidong 已提交
417
检查当前系统帐号是否为测试帐号。使用callback异步回调。
Z
zengyawen 已提交
418 419

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

Z
zengyawen 已提交
421
**参数:**
Z
zhangalong 已提交
422

J
jidong 已提交
423 424 425
| 参数名   | 类型                         | 必填 | 说明                                                                   |
| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
Z
zengyawen 已提交
426

J
jidong 已提交
427 428 429 430
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
431
| 12300001 | System service exception. |
J
jidong 已提交
432 433

**示例:**
Z
zhangalong 已提交
434

435
  ```ts
436
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
437
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
438
  try {
439
    accountManager.checkOsAccountTestable((err: BusinessError, isTestable: boolean) => {
J
jidong 已提交
440
      if (err) {
C
chennian 已提交
441
        console.log('checkOsAccountTestable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
442
      } else {
C
chennian 已提交
443
        console.log('checkOsAccountTestable successfully, isTestable: ' + isTestable);
J
jidong 已提交
444 445 446
      }
    });
  } catch (err) {
C
chennian 已提交
447
    console.log('checkOsAccountTestable error: ' + JSON.stringify(err));
J
jidong 已提交
448
  }
Z
zhangalong 已提交
449 450
  ```

J
jidong 已提交
451
### checkOsAccountTestable<sup>9+</sup>
Z
zhangalong 已提交
452

J
jidong 已提交
453
checkOsAccountTestable(): Promise&lt;boolean&gt;
Z
zhangalong 已提交
454

J
jidong 已提交
455
检查当前系统帐号是否为测试帐号。使用Promise异步回调。
Z
zhangalong 已提交
456

J
jidong 已提交
457 458 459 460 461 462 463 464 465 466 467 468
**系统能力:** SystemCapability.Account.OsAccount

**返回值:**

| 类型                   | 说明                                                                      |
| ---------------------- | ------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |

**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
469
| 12300001 | System service exception. |
J
jidong 已提交
470 471 472

**示例:**

473
  ```ts
474
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
475 476
  let accountManager = account_osAccount.getAccountManager();
  try {
477
    accountManager.checkOsAccountTestable().then((isTestable: boolean) => {
C
chennian 已提交
478
      console.log('checkOsAccountTestable successfully, isTestable: ' + isTestable);
479
    }).catch((err: BusinessError) => {
C
chennian 已提交
480
      console.log('checkOsAccountTestable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
481 482 483 484 485 486 487 488 489 490
    });
  } catch (err) {
    console.log('checkOsAccountTestable exception: ' + JSON.stringify(err));
  }
  ```

### checkOsAccountVerified<sup>9+</sup>

checkOsAccountVerified(callback: AsyncCallback&lt;boolean&gt;): void

J
jidong 已提交
491
检查当前系统帐号是否已认证解锁。使用callback异步回调。
492

Z
zengyawen 已提交
493 494 495
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
497 498
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
J
jidong 已提交
499
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号已认证解锁;返回false表示当前帐号未认证解锁。 |
Z
zhangalong 已提交
500

J
jidong 已提交
501
**错误码:**
Z
zhangalong 已提交
502

J
jidong 已提交
503 504
| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
505
| 12300001 | System service exception. |
Z
zhangalong 已提交
506

J
jidong 已提交
507
**示例:**
Z
zhangalong 已提交
508

509
  ```ts
510
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
511
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
512
  try {
513
    accountManager.checkOsAccountVerified((err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
514
      if (err) {
C
chennian 已提交
515
        console.log('checkOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
516
      } else {
C
chennian 已提交
517
        console.log('checkOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
518 519 520
      }
    });
  } catch (err) {
C
chennian 已提交
521
    console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
J
jidong 已提交
522
  }
Z
zhangalong 已提交
523 524
  ```

J
jidong 已提交
525
### checkOsAccountVerified<sup>9+</sup>
526

J
jidong 已提交
527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546
checkOsAccountVerified(): Promise&lt;boolean&gt;

检查当前系统帐号是否已认证解锁。使用Promise异步回调。

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

**返回值:**

| 类型                   | 说明                                                                      |
| ---------------------- | ------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号已认证解锁;返回false表示当前帐号未认证解锁。 |

**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

**示例:**

547
  ```ts
548
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
549 550
  let accountManager = account_osAccount.getAccountManager();
  try {
551
    accountManager.checkOsAccountVerified().then((isVerified: boolean) => {
J
jidong 已提交
552
      console.log('checkOsAccountVerified successfully, isVerified: ' + isVerified);
553
    }).catch((err: BusinessError) => {
J
jidong 已提交
554 555 556 557 558 559 560 561 562
      console.log('checkOsAccountVerified failed, error: ' + JSON.stringify(err));
    });
  } catch (err) {
    console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
  }
  ```

### checkOsAccountVerified<sup>9+</sup>

J
jidong 已提交
563
checkOsAccountVerified(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
564

J
jidong 已提交
565
检查指定系统帐号是否已验证。使用callback异步回调。
566

J
jidong 已提交
567
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
568 569 570 571 572

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

**参数:**

J
jidong 已提交
573 574
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
575
| localId  | number                       | 是   | 系统帐号ID。                              |
J
jidong 已提交
576
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号已认证解锁;返回false表示当前帐号未认证解锁。 |
577

J
jidong 已提交
578 579 580 581
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
582 583 584
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
585 586

**示例:**
587

588
  ```ts
589
  import { BusinessError } from '@ohos.base';
590
  let accountManager = account_osAccount.getAccountManager();
591
  let localId: number = 100;
592
  try {
593
    accountManager.checkOsAccountVerified(localId, (err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
594
      if (err) {
C
chennian 已提交
595
        console.log('checkOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
596
      } else {
C
chennian 已提交
597
        console.log('checkOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
598
      }
599
    });
J
jidong 已提交
600
  } catch (err) {
C
chennian 已提交
601
    console.log('checkOsAccountVerified exception: ' + err);
602 603 604
  }
  ```

J
jidong 已提交
605
### checkOsAccountVerified<sup>9+</sup>
606

Z
zhouyan 已提交
607
checkOsAccountVerified(localId: number): Promise&lt;boolean&gt;
608

J
jidong 已提交
609
检查指定系统帐号是否已验证。使用Promise异步回调。
610

J
jidong 已提交
611
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
612 613 614 615 616

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

**参数:**

J
jidong 已提交
617 618
| 参数名  | 类型   | 必填 | 说明                                                              |
| ------- | ------ | ---- | --------------------------------------------------------------- |
Z
zhouyan 已提交
619
| localId | number | 是   | 系统帐号ID。不填则检查当前系统帐号是否已验证。 |
620 621 622

**返回值:**

J
jidong 已提交
623 624
| 类型                   | 说明                                                               |
| ---------------------- | ----------------------------------------------------------------- |
J
jidong 已提交
625
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号已认证解锁;返回false表示当前帐号未认证解锁。 |
626

J
jidong 已提交
627 628 629 630
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
631 632 633
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
634 635

**示例:**
636

637
  ```ts
638
  import { BusinessError } from '@ohos.base';
639
  let accountManager = account_osAccount.getAccountManager();
640
  let localId: number = 100;
641
  try {
642
    accountManager.checkOsAccountVerified(localId).then((isVerified: boolean) => {
C
chennian 已提交
643
      console.log('checkOsAccountVerified successfully, isVerified: ' + isVerified);
644
    }).catch((err: BusinessError) => {
C
chennian 已提交
645
      console.log('checkOsAccountVerified failed, error: ' + JSON.stringify(err));
646
    });
J
jidong 已提交
647
  } catch (err) {
J
jidong 已提交
648
    console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
649 650 651
  }
  ```

652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673
### checkOsAccountVerified<sup>9+</sup>

checkOsAccountVerified(): Promise&lt;boolean&gt;

检查当前系统帐号是否已验证。使用Promise异步回调。

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

**返回值:**

| 类型                   | 说明                                                               |
| ---------------------- | ----------------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号已验证;返回false表示当前帐号未验证。 |

**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

**示例:**

674
  ```ts
675
  import { BusinessError } from '@ohos.base';
676 677
  let accountManager = account_osAccount.getAccountManager();
  try {
678
    accountManager.checkOsAccountVerified().then((isVerified: boolean) => {
679
      console.log('checkOsAccountVerified successfully, isVerified: ' + isVerified);
680
    }).catch((err: BusinessError) => {
681 682 683 684 685 686 687
      console.log('checkOsAccountVerified failed, error: ' + JSON.stringify(err));
    });
  } catch (err) {
    console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
688
### removeOsAccount
Z
zhangalong 已提交
689

J
jidong 已提交
690
removeOsAccount(localId: number, callback: AsyncCallback&lt;void&gt;): void
Z
zhangalong 已提交
691

J
jidong 已提交
692
删除指定系统帐号。使用callback异步回调。
Z
zhangalong 已提交
693

J
jidong 已提交
694
**系统接口:** 此接口为系统接口。
695

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

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

Z
zengyawen 已提交
700 701
**参数:**

J
jidong 已提交
702 703 704 705
| 参数名   | 类型                      | 必填 | 说明                                                 |
| -------- | ------------------------- | ---- | -------------------------------------------------- |
| localId  | number                    | 是   | 系统帐号ID。                  |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果删除帐号成功,err为null,否则为错误对象。 |
Z
zengyawen 已提交
706

J
jidong 已提交
707 708 709 710
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
711
| 12300001 | System service exception. |
J
jidong 已提交
712
| 12300002 | Invalid localId.    |
J
jidong 已提交
713 714
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
715 716

**示例:**
Z
zhangalong 已提交
717

718
  ```ts
719
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
720
  let accountManager = account_osAccount.getAccountManager();
721
  let accountName: string = 'testAccountName';
J
jidong 已提交
722
  try {
723 724 725 726 727 728 729 730
    accountManager.createOsAccount(accountName, account_osAccount.OsAccountType.NORMAL,
      (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo) => {
        accountManager.removeOsAccount(osAccountInfo.localId, (err: BusinessError)=>{
          if (err) {
            console.log('removeOsAccount failed, error: ' + JSON.stringify(err));
          } else {
            console.log('removeOsAccount successfully');
          }
J
jidong 已提交
731 732 733
      });
    });
  } catch (err) {
C
chennian 已提交
734
    console.log('removeOsAccount exception: ' + JSON.stringify(err));
J
jidong 已提交
735
  }
Z
zhangalong 已提交
736 737
  ```

J
jidong 已提交
738
### removeOsAccount
Z
zhangalong 已提交
739

J
jidong 已提交
740
removeOsAccount(localId: number): Promise&lt;void&gt;
Z
zhangalong 已提交
741

J
jidong 已提交
742
删除指定系统帐号。使用Promise异步回调。
Z
zengyawen 已提交
743

J
jidong 已提交
744
**系统接口:** 此接口为系统接口。
745

Z
zengyawen 已提交
746 747 748
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

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

Z
zengyawen 已提交
750
**参数:**
Z
zhangalong 已提交
751

J
jidong 已提交
752 753 754
| 参数名  | 类型   | 必填 | 说明                               |
| ------- | ------ | ---- | --------------------------------- |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
755

Z
zengyawen 已提交
756
**返回值:**
Z
zhangalong 已提交
757

J
jidong 已提交
758 759
| 类型                | 说明                                  |
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
760
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
Z
zhangalong 已提交
761

J
jidong 已提交
762 763 764 765
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
766
| 12300001 | System service exception. |
J
jidong 已提交
767
| 12300002 | Invalid localId.    |
J
jidong 已提交
768 769
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
770 771

**示例:**
Z
zhangalong 已提交
772

773
  ```ts
774
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
775
  let accountManager = account_osAccount.getAccountManager();
776
  let accountName: string = 'testAccountName';
J
jidong 已提交
777
  try {
778 779 780 781 782 783 784
    accountManager.createOsAccount(accountName, account_osAccount.OsAccountType.NORMAL,
      (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo)=>{
        accountManager.removeOsAccount(osAccountInfo.localId).then(() => {
          console.log('removeOsAccount successfully');
        }).catch((err: BusinessError) => {
            console.log('removeOsAccount failed, error: ' + JSON.stringify(err));
        });
J
jidong 已提交
785 786
    });
  } catch (err) {
C
chennian 已提交
787
    console.log('removeOsAccount exception: ' + JSON.stringify(err));
J
jidong 已提交
788
  }
Z
zhangalong 已提交
789 790
  ```

J
jidong 已提交
791 792 793 794 795
### setOsAccountConstraints

setOsAccountConstraints(localId: number, constraints: Array&lt;string&gt;, enable: boolean,callback: AsyncCallback&lt;void&gt;): void

为指定系统帐号设置/删除约束。使用callback异步回调。
796

J
jidong 已提交
797
**系统接口:** 此接口为系统接口。
798

J
jidong 已提交
799
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
800 801 802 803 804

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

**参数:**

J
jidong 已提交
805 806 807 808 809 810
| 参数名      | 类型                      | 必填 | 说明                                             |
| ----------- | ------------------------- | ---- | ----------------------------------------------- |
| localId     | number                    | 是   | 系统帐号ID。               |
| constraints | Array&lt;string&gt;       | 是   | 待设置/删除的[约束](#系统帐号约束列表)列表。        |
| enable      | boolean                   | 是   | 设置(true)/删除(false)                           |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
811

J
jidong 已提交
812 813 814 815
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
816
| 12300001 | System service exception. |
C
chennian 已提交
817
| 12300002 | Invalid localId or constraints.    |
J
jidong 已提交
818 819
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
820 821

**示例:** 给ID为100的系统帐号设置禁止使用Wi-Fi的约束
822

823
  ```ts
824
  import { BusinessError } from '@ohos.base';
825
  let accountManager = account_osAccount.getAccountManager();
826 827
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
828
  try {
829
    accountManager.setOsAccountConstraints(localId, [constraint], true, (err: BusinessError) => {
J
jidong 已提交
830
      if (err) {
C
chennian 已提交
831
        console.log('setOsAccountConstraints failed, error: ' + JSON.stringify(err));
J
jidong 已提交
832
      } else {
C
chennian 已提交
833
        console.log('setOsAccountConstraints successfully');
J
jidong 已提交
834
      }
835
    });
J
jidong 已提交
836
  } catch (err) {
C
chennian 已提交
837
    console.log('setOsAccountConstraints exception: ' + JSON.stringify(err));
838 839 840
  }
  ```

J
jidong 已提交
841 842 843 844 845
### setOsAccountConstraints

setOsAccountConstraints(localId: number, constraints: Array&lt;string&gt;, enable: boolean): Promise&lt;void&gt;

为指定系统帐号设置/删除约束。使用Promise异步回调。
846

J
jidong 已提交
847
**系统接口:** 此接口为系统接口。
848

J
jidong 已提交
849
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
850 851 852

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

J
jidong 已提交
853 854 855 856 857 858 859 860
**参数:**

| 参数名      | 类型                | 必填 | 说明                                         |
| ----------- | ------------------- | ---- | -------------------------------------------- |
| localId     | number              | 是   | 系统帐号ID。           |
| constraints | Array&lt;string&gt; | 是   | 待设置/删除的[约束](#系统帐号约束列表)列表。    |
| enable      | boolean             | 是   | 设置(true)/删除(false)。                     |

861 862
**返回值:**

J
jidong 已提交
863 864
| 类型                | 说明                                 |
| :------------------ | :----------------------------------- |
A
Annie_wang 已提交
865
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
866

J
jidong 已提交
867 868 869 870
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
871
| 12300001 | System service exception. |
C
chennian 已提交
872
| 12300002 | Invalid localId or constraints.    |
J
jidong 已提交
873 874
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
875 876

**示例:** 删除ID为100的系统帐号的禁止使用Wi-Fi的约束
877

878
  ```ts
879
  import { BusinessError } from '@ohos.base';
880
  let accountManager = account_osAccount.getAccountManager();
881
  let localId: number = 100;
882
  try {
J
jidong 已提交
883 884
    accountManager.setOsAccountConstraints(localId, ['constraint.location.set'], false).then(() => {
      console.log('setOsAccountConstraints succsuccessfully');
885
    }).catch((err: BusinessError) => {
C
chennian 已提交
886
      console.log('setOsAccountConstraints failed, error: ' + JSON.stringify(err));
887
    });
J
jidong 已提交
888
  } catch (err) {
C
chennian 已提交
889
    console.log('setOsAccountConstraints exception: ' + JSON.stringify(err));
890 891 892
  }
  ```

J
jidong 已提交
893
### setOsAccountName
Z
zhangalong 已提交
894

J
jidong 已提交
895
setOsAccountName(localId: number, localName: string, callback: AsyncCallback&lt;void&gt;): void
Z
zhangalong 已提交
896

J
jidong 已提交
897
设置指定系统帐号的帐号名。使用callback异步回调。
Z
zhangalong 已提交
898

J
jidong 已提交
899 900 901
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
905
**参数:**
Z
zhangalong 已提交
906

J
jidong 已提交
907 908 909
| 参数名    | 类型                      | 必填 | 说明                                             |
| :-------- | ------------------------- | ---- | ----------------------------------------------- |
| localId   | number                    | 是   | 系统帐号ID。               |
J
jidong 已提交
910
| localName | string                    | 是   | 帐号名,最大长度为1024个字符。                          |
J
jidong 已提交
911
| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
Z
zengyawen 已提交
912

J
jidong 已提交
913 914 915 916
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
917 918 919 920
| 12300001 | System service exception. |
| 12300002 | Invalid localId or localName. |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
921 922

**示例:** 将ID为100的系统帐号的帐号名设置成demoName
Z
zhangalong 已提交
923

924
  ```ts
925
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
926
  let accountManager = account_osAccount.getAccountManager();
927 928
  let localId: number = 100;
  let name: string = 'demoName';
J
jidong 已提交
929
  try {
930
    accountManager.setOsAccountName(localId, name, (err: BusinessError) => {
J
jidong 已提交
931
      if (err) {
C
chennian 已提交
932
        console.log('setOsAccountName failed, error: ' + JSON.stringify(err));
J
jidong 已提交
933
      } else {
C
chennian 已提交
934
        console.log('setOsAccountName successfully');
J
jidong 已提交
935 936 937
      }
    });
  } catch (err) {
C
chennian 已提交
938
    console.log('setOsAccountName exception: ' + JSON.stringify(err));
J
jidong 已提交
939
  }
Z
zhangalong 已提交
940 941
  ```

J
jidong 已提交
942
### setOsAccountName
Z
zhangalong 已提交
943

J
jidong 已提交
944
setOsAccountName(localId: number, localName: string): Promise&lt;void&gt;
Z
zhangalong 已提交
945

J
jidong 已提交
946
设置指定系统帐号的帐号名。使用Promise异步调用。 
Z
zhangalong 已提交
947

J
jidong 已提交
948 949 950
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
952 953
**系统能力:** SystemCapability.Account.OsAccount

J
jidong 已提交
954 955 956 957 958 959 960
**参数:**

| 参数名    | 类型   | 必填 | 说明                                |
| --------- | ------ | ---- | --------------------------------- |
| localId   | number | 是   | 系统帐号ID。 |
| localName | string | 是   | 帐号名,最大长度为1024。            |

Z
zengyawen 已提交
961
**返回值:**
Z
zhangalong 已提交
962

J
jidong 已提交
963
| 类型                | 说明                                  |
J
jidong 已提交
964
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
965
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
Z
zhangalong 已提交
966

J
jidong 已提交
967 968 969 970
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
971 972 973 974
| 12300001 | System service exception. |
| 12300002 | Invalid localId or localName.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
975 976

**示例:** 将ID为100的系统帐号的帐号名设置成demoName
Z
zhangalong 已提交
977

978
  ```ts
979
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
980
  let accountManager = account_osAccount.getAccountManager();
981 982
  let localId: number = 100;
  let name: string = 'testName';
J
jidong 已提交
983 984 985
  try {
    accountManager.setOsAccountName(localId, name).then(() => {
      console.log('setOsAccountName successfully');
986
    }).catch((err: BusinessError) => {
C
chennian 已提交
987
      console.log('setOsAccountName failed, error: ' + JSON.stringify(err));
J
jidong 已提交
988 989
    });
  } catch (err) {
C
chennian 已提交
990
    console.log('setOsAccountName exception: ' + JSON.stringify(err));
J
jidong 已提交
991
  }
Z
zhangalong 已提交
992 993
  ```

J
jidong 已提交
994
### getOsAccountCount<sup>9+</sup>
995

J
jidong 已提交
996
getOsAccountCount(callback: AsyncCallback&lt;number&gt;): void
997

J
jidong 已提交
998
获取已创建的系统帐号数量。使用callback异步回调。
999

J
jidong 已提交
1000
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1001 1002 1003 1004 1005

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

**参数:**

J
jidong 已提交
1006 1007 1008
| 参数名   | 类型                        | 必填 | 说明                                                                         |
| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为已创建的系统帐号的数量;否则为错误对象。 |
1009

J
jidong 已提交
1010 1011 1012 1013 1014 1015
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

1016 1017
**示例:**

1018
  ```ts
1019
  import { BusinessError } from '@ohos.base';
1020 1021
  let accountManager = account_osAccount.getAccountManager();
  try {
1022
    accountManager.getOsAccountCount((err: BusinessError, count: number) => {
J
jidong 已提交
1023
      if (err) {
C
chennian 已提交
1024
        console.log('getOsAccountCount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1025
      } else {
C
chennian 已提交
1026
        console.log('getOsAccountCount successfully, count: ' + count);
J
jidong 已提交
1027
      }
1028
    });
J
jidong 已提交
1029
  } catch (err) {
C
chennian 已提交
1030
    console.log('getOsAccountCount exception: ' + JSON.stringify(err));
1031 1032 1033
  }
  ```

J
jidong 已提交
1034
### getOsAccountCount<sup>9+</sup>
1035

J
jidong 已提交
1036
getOsAccountCount(): Promise&lt;number&gt;
1037

J
jidong 已提交
1038
获取已创建的系统帐号数量。使用Promise异步回调。
1039

J
jidong 已提交
1040
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1041 1042 1043

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

J
jidong 已提交
1044
**返回值:**
1045

J
jidong 已提交
1046 1047 1048
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回已创建的系统帐号的数量。 |
1049

J
jidong 已提交
1050 1051 1052 1053 1054 1055
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

1056 1057
**示例:**

1058
  ```ts
1059
  import { BusinessError } from '@ohos.base';
1060 1061
  let accountManager = account_osAccount.getAccountManager();
  try {
1062
    accountManager.getOsAccountCount().then((count: number) => {
C
chennian 已提交
1063
      console.log('getOsAccountCount successfully, count: ' + count);
1064
    }).catch((err: BusinessError) => {
C
chennian 已提交
1065
      console.log('getOsAccountCount failed, error: ' + JSON.stringify(err));
1066
    });
J
jidong 已提交
1067
  } catch(err) {
C
chennian 已提交
1068
    console.log('getOsAccountCount exception: ' + JSON.stringify(err));
1069 1070 1071
  }
  ```

C
cclicn 已提交
1072
### getOsAccountLocalId<sup>9+</sup>
1073

C
cclicn 已提交
1074
getOsAccountLocalId(callback: AsyncCallback&lt;number&gt;): void
1075

J
jidong 已提交
1076
获取当前进程所属的系统帐号ID,使用callback异步回调。
1077 1078 1079 1080 1081

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

**参数:**

J
jidong 已提交
1082 1083 1084
| 参数名   | 类型                        | 必填 | 说明                                                                           |
| -------- | --------------------------- | ---- | ---------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为当前进程所属的系统帐号ID;否则为错误对象。 |
1085

J
jidong 已提交
1086 1087 1088 1089
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
1090
| 12300001 | System service exception. |
J
jidong 已提交
1091

1092 1093
**示例:**

1094
  ```ts
1095
  import { BusinessError } from '@ohos.base';
1096 1097
  let accountManager = account_osAccount.getAccountManager();
  try {
1098
    accountManager.getOsAccountLocalId((err: BusinessError, localId: number) => {
J
jidong 已提交
1099
      if (err) {
C
chennian 已提交
1100
        console.log('getOsAccountLocalId failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1101
      } else {
C
chennian 已提交
1102
        console.log('getOsAccountLocalId successfully, localId: ' + localId);
J
jidong 已提交
1103
      }
1104
    });
J
jidong 已提交
1105
  } catch (err) {
C
chennian 已提交
1106
    console.log('getOsAccountLocalId exception: ' + JSON.stringify(err));
1107 1108 1109
  }
  ```

C
cclicn 已提交
1110
### getOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
1111

C
cclicn 已提交
1112
getOsAccountLocalId(): Promise&lt;number&gt;
Z
zhangalong 已提交
1113

J
jidong 已提交
1114
获取当前进程所属的系统帐号ID,使用Promise异步回调。
1115

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

J
jidong 已提交
1118
**返回值:**
Z
zhangalong 已提交
1119

J
jidong 已提交
1120
| 类型                  | 说明                                      |
J
jidong 已提交
1121
| --------------------- | ---------------------------------------- |
J
jidong 已提交
1122
| Promise&lt;number&gt; | Promise对象,返回当前进程所属的系统帐号ID。 |
Z
zengyawen 已提交
1123

J
jidong 已提交
1124 1125 1126 1127
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
1128
| 12300001 | System service exception. |
J
jidong 已提交
1129

1130
**示例:**
Z
zhangalong 已提交
1131

1132
  ```ts
1133
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1134
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
1135
  try {
1136
    accountManager.getOsAccountLocalId().then((localId: number) => {
C
chennian 已提交
1137
      console.log('getOsAccountLocalId successfully, localId: ' + localId);
1138
    }).catch((err: BusinessError) => {
C
chennian 已提交
1139
      console.log('getOsAccountLocalId failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1140 1141
    });
  } catch (err) {
C
cclicn 已提交
1142
    console.log('getOsAccountLocalId exception: ' + JSON.stringify(err));
J
jidong 已提交
1143
  }
Z
zhangalong 已提交
1144 1145
  ```

C
cclicn 已提交
1146
### getOsAccountLocalIdForUid<sup>9+</sup>
Z
zhangalong 已提交
1147

C
cclicn 已提交
1148
getOsAccountLocalIdForUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
1149

J
jidong 已提交
1150
根据uid查询对应的系统帐号ID,使用callback异步回调。
Z
zhangalong 已提交
1151

Z
zengyawen 已提交
1152 1153 1154
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
1156 1157 1158 1159
| 参数名   | 类型                        | 必填 | 说明                                                                    |
| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
| uid      | number                      | 是   | 进程uid。                                                              |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为对应的系统帐号ID;否则为错误对象。 |
Z
zhangalong 已提交
1160

J
jidong 已提交
1161 1162 1163
**错误码:**

| 错误码ID | 错误信息         |
J
jidong 已提交
1164
| -------- | --------------- |
C
chennian 已提交
1165 1166
| 12300001 | System service exception. |
| 12300002 | Invalid uid.    |
J
jidong 已提交
1167 1168

**示例:** 查询值为12345678的uid所属的系统帐号的帐号ID
Z
zhangalong 已提交
1169

1170
  ```ts
1171
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1172
  let accountManager = account_osAccount.getAccountManager();
1173
  let uid: number = 12345678;
J
jidong 已提交
1174
  try {
1175
    accountManager.getOsAccountLocalIdForUid(uid, (err: BusinessError, localId: number) => {
J
jidong 已提交
1176
      if (err) {
C
chennian 已提交
1177
        console.log('getOsAccountLocalIdForUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1178
      }
C
chennian 已提交
1179
      console.log('getOsAccountLocalIdForUid successfully, localId: ' + localId);
J
jidong 已提交
1180 1181
    });
  } catch (err) {
C
chennian 已提交
1182
    console.log('getOsAccountLocalIdForUid exception: ' + JSON.stringify(err));
J
jidong 已提交
1183
  }
Z
zhangalong 已提交
1184 1185
  ```

C
cclicn 已提交
1186
### getOsAccountLocalIdForUid<sup>9+</sup>
Z
zhangalong 已提交
1187

C
cclicn 已提交
1188
getOsAccountLocalIdForUid(uid: number): Promise&lt;number&gt;
1189

J
jidong 已提交
1190
根据uid查询对应的系统帐号ID,使用Promise异步回调。
Z
zhangalong 已提交
1191

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

Z
zengyawen 已提交
1194
**参数:**
Z
zhangalong 已提交
1195

J
jidong 已提交
1196 1197 1198
| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |
Z
zhangalong 已提交
1199

Z
zengyawen 已提交
1200
**返回值:**
Z
zhangalong 已提交
1201

J
jidong 已提交
1202 1203 1204
| 类型                  | 说明                                     |
| --------------------- | --------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回指定uid对应的系统帐号ID。 |
Z
zengyawen 已提交
1205

J
jidong 已提交
1206 1207 1208
**错误码:**

| 错误码ID | 错误信息       |
J
jidong 已提交
1209
| -------- | ------------- |
C
chennian 已提交
1210 1211
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
1212 1213

**示例:** 查询值为12345678的uid所属的系统帐号ID
Z
zhangalong 已提交
1214

1215
  ```ts
1216
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1217
  let accountManager = account_osAccount.getAccountManager();
1218
  let uid: number = 12345678;
J
jidong 已提交
1219
  try {
1220
    accountManager.getOsAccountLocalIdForUid(uid).then((localId: number) => {
C
chennian 已提交
1221
      console.log('getOsAccountLocalIdForUid successfully, localId: ' + localId);
1222
    }).catch((err: BusinessError) => {
C
chennian 已提交
1223
      console.log('getOsAccountLocalIdForUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1224 1225
    });
  } catch (err) {
C
cclicn 已提交
1226
    console.log('getOsAccountLocalIdForUid exception: ' + JSON.stringify(err));
J
jidong 已提交
1227
  }
Z
zhangalong 已提交
1228 1229
  ```

1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268
### getOsAccountLocalIdForUidSync<sup>10+</sup>

getOsAccountLocalIdForUidSync(uid: number): number

根据uid查询对应的系统帐号ID。使用同步方式返回结果。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |

**返回值:**

| 类型                  | 说明                                     |
| --------------------- | --------------------------------------- |
| number | 返回指定uid对应的系统帐号ID。 |

**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300002 | Invalid uid. |

**示例:** 查询值为12345678的uid所属的系统帐号ID

  ```ts
  let accountManager = account_osAccount.getAccountManager();
  let uid: number = 12345678;
  try {
    let localId : number = accountManager.getOsAccountLocalIdForUidSync(uid);
    console.log('getOsAccountLocalIdForUidSync successfully, localId: ' + localId);
  } catch (err) {
    console.log('getOsAccountLocalIdForUidSync exception: ' + JSON.stringify(err));
  }
  ```

C
cclicn 已提交
1269
### getOsAccountLocalIdForDomain<sup>9+</sup>
Z
zhangalong 已提交
1270

C
cclicn 已提交
1271
getOsAccountLocalIdForDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
1272

J
jidong 已提交
1273
根据域帐号信息,获取与其关联的系统帐号ID。使用callback异步回调。
Z
zengyawen 已提交
1274 1275 1276 1277 1278 1279

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

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

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

J
jidong 已提交
1281 1282 1283 1284
| 参数名     | 类型                                    | 必填 | 说明                                                                         |
| ---------- | --------------------------------------- | ---- | -------------------------------------------------------------------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。                                                                |
| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调函数。如果查询成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。 |
Z
zhangalong 已提交
1285

J
jidong 已提交
1286 1287 1288 1289
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1290 1291
| 12300001 | System service exception. |
| 12300002 | Invalid domainInfo. |
J
jidong 已提交
1292

1293
**示例:**
Z
zhangalong 已提交
1294

1295
  ```ts
1296
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
1297
  let domainInfo: account_osAccount.DomainAccountInfo = {domain: 'testDomain', accountName: 'testAccountName'};
F
fanchenxuan 已提交
1298
  let accountManager = account_osAccount.getAccountManager();
1299
  try {
1300
    accountManager.getOsAccountLocalIdForDomain(domainInfo, (err: BusinessError, localId: number) => {
J
jidong 已提交
1301
      if (err) {
C
chennian 已提交
1302
        console.log('getOsAccountLocalIdForDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1303
      } else {
C
chennian 已提交
1304
        console.log('getOsAccountLocalIdForDomain successfully, localId: ' + localId);
J
jidong 已提交
1305
      }
J
jidong 已提交
1306
    });
J
jidong 已提交
1307
  } catch (err) {
C
cclicn 已提交
1308
    console.log('getOsAccountLocalIdForDomain exception: ' + JSON.stringify(err));
1309
  }
Z
zhangalong 已提交
1310 1311
  ```

C
cclicn 已提交
1312
### getOsAccountLocalIdForDomain<sup>9+</sup>
Z
zhangalong 已提交
1313

C
cclicn 已提交
1314
getOsAccountLocalIdForDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;
Z
zhangalong 已提交
1315

J
jidong 已提交
1316
根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用Promise异步回调。
Z
zengyawen 已提交
1317 1318 1319 1320 1321 1322

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

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

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

J
jidong 已提交
1324 1325 1326
| 参数名     | 类型                                    | 必填 | 说明         |
| ---------- | --------------------------------------- | ---- | ------------ |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。 |
Z
zhangalong 已提交
1327

Z
zengyawen 已提交
1328
**返回值:**
Z
zhangalong 已提交
1329

J
jidong 已提交
1330 1331 1332
| 类型                  | 说明                                    |
| :-------------------- | :------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回域帐号关联的系统帐号ID。 |
Z
zhangalong 已提交
1333

J
jidong 已提交
1334 1335 1336 1337
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1338 1339
| 12300001 | System service exception. |
| 12300002 | Invalid domainInfo. |
J
jidong 已提交
1340

1341
**示例:**
Z
zhangalong 已提交
1342

1343
  ```ts
1344
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1345
  let accountManager = account_osAccount.getAccountManager();
C
cclicn 已提交
1346
  let domainInfo: account_osAccount.DomainAccountInfo = {domain: 'testDomain', accountName: 'testAccountName'};
1347
  try {
1348
    accountManager.getOsAccountLocalIdForDomain(domainInfo).then((localId: number) => {
C
chennian 已提交
1349
      console.log('getOsAccountLocalIdForDomain successfully, localId: ' + localId);
1350
    }).catch((err: BusinessError) => {
C
chennian 已提交
1351
      console.log('getOsAccountLocalIdForDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1352
    });
J
jidong 已提交
1353
  } catch (err) {
C
chennian 已提交
1354
    console.log('getOsAccountLocalIdForDomain exception: ' + JSON.stringify(err));
1355
  }
Z
zhangalong 已提交
1356 1357
  ```

J
jidong 已提交
1358
### queryMaxOsAccountNumber
Z
zhangalong 已提交
1359

J
jidong 已提交
1360
queryMaxOsAccountNumber(callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
1361

J
jidong 已提交
1362
查询允许创建的系统帐号的最大数量。使用callback异步回调。
Z
zhangalong 已提交
1363

J
jidong 已提交
1364
**系统接口:** 此接口为系统接口。
Z
zhangalong 已提交
1365

Z
zengyawen 已提交
1366 1367 1368 1369
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
1370 1371 1372
| 参数名   | 类型                        | 必填 | 说明                                                                              |
| -------- | --------------------------- | ---- | -------------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,如果查询成功,err为null,data为允许创建的系统帐号的最大数量;否则为错误对象。 |
Z
zengyawen 已提交
1373

J
jidong 已提交
1374 1375 1376 1377 1378 1379
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |

J
jidong 已提交
1380
**示例:**
Z
zhangalong 已提交
1381

1382
  ```ts
1383
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1384
  let accountManager = account_osAccount.getAccountManager();
1385
  try {
1386
    accountManager.queryMaxOsAccountNumber((err: BusinessError, maxCnt: number) => {
J
jidong 已提交
1387 1388 1389 1390 1391
      if (err) {
        console.log('queryMaxOsAccountNumber failed, error:' + JSON.stringify(err));
      } else {
        console.log('queryMaxOsAccountNumber successfully, maxCnt:' + maxCnt);
      }
1392
    });
J
jidong 已提交
1393
  } catch (err) {
C
chennian 已提交
1394
    console.log('queryMaxOsAccountNumber exception: ' + JSON.stringify(err));
1395
  }
Z
zhangalong 已提交
1396 1397
  ```

J
jidong 已提交
1398
### queryMaxOsAccountNumber
Z
zhangalong 已提交
1399

J
jidong 已提交
1400
queryMaxOsAccountNumber(): Promise&lt;number&gt;
Z
zengyawen 已提交
1401

J
jidong 已提交
1402
查询允许创建的系统帐号的最大数量。使用Promise异步回调。
Z
zhangalong 已提交
1403

J
jidong 已提交
1404
**系统接口:** 此接口为系统接口。
Z
zhangalong 已提交
1405

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

Z
zengyawen 已提交
1408 1409
**返回值:**

J
jidong 已提交
1410 1411 1412
| 类型                  | 说明                                         |
| --------------------- | ------------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回允许创建的系统帐号的最大数量。 |
Z
zengyawen 已提交
1413

J
jidong 已提交
1414 1415 1416 1417 1418 1419
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |

J
jidong 已提交
1420
**示例:**
Z
zhangalong 已提交
1421

1422
  ```ts
1423
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1424
  let accountManager = account_osAccount.getAccountManager();
1425
  try {
1426
    accountManager.queryMaxOsAccountNumber().then((maxCnt: number) => {
J
jidong 已提交
1427
      console.log('queryMaxOsAccountNumber successfully, maxCnt: ' + maxCnt);
1428
    }).catch((err: BusinessError) => {
C
chennian 已提交
1429
      console.log('queryMaxOsAccountNumber failed, error: ' + JSON.stringify(err));
1430
    });
J
jidong 已提交
1431
  } catch (err) {
C
chennian 已提交
1432
    console.log('queryMaxOsAccountNumber exception: ' + JSON.stringify(err));
1433
  }
Z
zhangalong 已提交
1434 1435
  ```

J
jidong 已提交
1436
### getOsAccountConstraints<sup>9+</sup>
Z
zhangalong 已提交
1437

J
jidong 已提交
1438
getOsAccountConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
Z
zhangalong 已提交
1439

J
jidong 已提交
1440
获取指定系统帐号的全部约束。使用callback异步回调。
Z
zengyawen 已提交
1441

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

Z
zengyawen 已提交
1444 1445 1446
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
1448 1449 1450 1451
| 参数名   | 类型                                     | 必填 | 说明                                                                                           |
| -------- | ---------------------------------------- | ---- | -------------------------------------------------------------------------------------------- |
| localId  | number                                   | 是   | 系统帐号ID。                                                                                  |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是   | 回调函数,如果获取成功,err为null,data为该系统帐号的全部[约束](#系统帐号约束列表);否则为错误对象。 |
Z
zhangalong 已提交
1452

J
jidong 已提交
1453 1454 1455 1456
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1457
| 12300001 | System service exception. |
J
jidong 已提交
1458
| 12300002 | Invalid localId.    |
J
jidong 已提交
1459
| 12300003 | Account not found. |
J
jidong 已提交
1460 1461

**示例:** 获取ID为100的系统帐号的全部约束
Z
zhangalong 已提交
1462

1463
  ```ts
1464
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1465
  let accountManager = account_osAccount.getAccountManager();
1466
  let localId: number = 100;
1467
  try {
1468
    accountManager.getOsAccountConstraints(localId, (err: BusinessError, constraints: string[]) => {
J
jidong 已提交
1469
      if (err) {
C
chennian 已提交
1470
        console.log('getOsAccountConstraints failed, err: ' + JSON.stringify(err));
J
jidong 已提交
1471
      } else {
C
chennian 已提交
1472
        console.log('getOsAccountConstraints successfully, constraints: ' + JSON.stringify(constraints));
J
jidong 已提交
1473
      }
1474
    });
J
jidong 已提交
1475
  } catch (err) {
C
chennian 已提交
1476
    console.log('getOsAccountConstraints exception: ' + JSON.stringify(err));
1477
  }
Z
zhangalong 已提交
1478 1479
  ```

J
jidong 已提交
1480
### getOsAccountConstraints<sup>9+</sup>
Z
zhangalong 已提交
1481

J
jidong 已提交
1482
getOsAccountConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;
Z
zhangalong 已提交
1483

J
jidong 已提交
1484
获取指定系统帐号的全部约束。使用Promise异步回调。
Z
zhangalong 已提交
1485

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

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

Z
zengyawen 已提交
1490
**参数:**
Z
zhangalong 已提交
1491

J
jidong 已提交
1492 1493 1494
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
1495

Z
zengyawen 已提交
1496 1497
**返回值:**

J
jidong 已提交
1498 1499 1500
| 类型                               | 说明                                                       |
| ---------------------------------- | ---------------------------------------------------------- |
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回指定系统帐号的全部[约束](#系统帐号约束列表)。 |
Z
zengyawen 已提交
1501

J
jidong 已提交
1502 1503 1504 1505
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1506
| 12300001 | System service exception. |
J
jidong 已提交
1507
| 12300002 | Invalid localId.    |
J
jidong 已提交
1508
| 12300003 | Account not found. |
J
jidong 已提交
1509 1510

**示例:** 获取ID为100的系统帐号的全部约束
Z
zhangalong 已提交
1511

1512
  ```ts
1513
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1514
  let accountManager = account_osAccount.getAccountManager();
1515
  let localId: number = 100;
1516
  try {
1517
    accountManager.getOsAccountConstraints(localId).then((constraints: string[]) => {
J
jidong 已提交
1518
      console.log('getOsAccountConstraints, constraints: ' + constraints);
1519
    }).catch((err: BusinessError) => {
C
chennian 已提交
1520
      console.log('getOsAccountConstraints err: ' + JSON.stringify(err));
1521 1522
    });
  } catch (e) {
C
chennian 已提交
1523
    console.log('getOsAccountConstraints exception: ' + JSON.stringify(e));
1524
  }
Z
zhangalong 已提交
1525 1526
  ```

J
jidong 已提交
1527
### queryAllCreatedOsAccounts
1528

J
jidong 已提交
1529
queryAllCreatedOsAccounts(callback: AsyncCallback&lt;Array&lt;OsAccountInfo&gt;&gt;): void
1530

J
jidong 已提交
1531
查询已创建的所有系统帐号的信息列表。使用callback异步回调。
1532

J
jidong 已提交
1533
**系统接口:** 此接口为系统接口。
1534 1535 1536

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

J
jidong 已提交
1537 1538
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

1539 1540
**参数:**

J
jidong 已提交
1541 1542 1543
| 参数名   | 类型                                                         | 必填 | 说明                                               |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为已创建的所有系统帐号的信息列表;否则为错误对象。 |
1544

J
jidong 已提交
1545 1546 1547 1548 1549 1550
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |

1551 1552
**示例:**

1553
  ```ts
1554
  import { BusinessError } from '@ohos.base';
1555 1556
  let accountManager = account_osAccount.getAccountManager();
  try {
1557
    accountManager.queryAllCreatedOsAccounts((err: BusinessError, accountArr: account_osAccount.OsAccountInfo[])=>{
J
jidong 已提交
1558 1559
      console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err));
      console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr));
1560 1561
    });
  } catch (e) {
C
chennian 已提交
1562
    console.log('queryAllCreatedOsAccounts exception: ' + JSON.stringify(e));
1563 1564 1565
  }
  ```

J
jidong 已提交
1566
### queryAllCreatedOsAccounts
1567

J
jidong 已提交
1568
queryAllCreatedOsAccounts(): Promise&lt;Array&lt;OsAccountInfo&gt;&gt;
1569

J
jidong 已提交
1570
查询已创建的所有系统帐号的信息列表。使用Promise异步回调。
1571

J
jidong 已提交
1572
**系统接口:** 此接口为系统接口。
1573 1574 1575

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

J
jidong 已提交
1576 1577
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

1578 1579
**返回值:**

J
jidong 已提交
1580 1581 1582
| 类型                                                        | 说明                                           |
| ----------------------------------------------------------- | --------------------------------------------- |
| Promise&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | Promise对象,返回已创建的所有系统帐号的信息列表。 |
1583

J
jidong 已提交
1584 1585 1586 1587 1588 1589
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |

1590 1591
**示例:**

1592
  ```ts
1593
  import { BusinessError } from '@ohos.base';
1594 1595
  let accountManager = account_osAccount.getAccountManager();
  try {
1596
    accountManager.queryAllCreatedOsAccounts().then((accountArr: account_osAccount.OsAccountInfo[]) => {
J
jidong 已提交
1597
      console.log('queryAllCreatedOsAccounts, accountArr: ' + JSON.stringify(accountArr));
1598
    }).catch((err: BusinessError) => {
C
chennian 已提交
1599
      console.log('queryAllCreatedOsAccounts err: ' + JSON.stringify(err));
1600
    });
J
jidong 已提交
1601
  } catch (e) {
C
chennian 已提交
1602
    console.log('queryAllCreatedOsAccounts exception: ' + JSON.stringify(e));
1603 1604 1605
  }
  ```

C
cclicn 已提交
1606
### getActivatedOsAccountLocalIds<sup>9+</sup>
Z
zhangalong 已提交
1607

C
cclicn 已提交
1608
getActivatedOsAccountLocalIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void
1609

J
jidong 已提交
1610
查询当前处于激活状态的系统帐号的ID列表。使用callback异步回调。
Z
zengyawen 已提交
1611 1612 1613 1614

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

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

J
jidong 已提交
1616 1617 1618
| 参数名   | 类型                                     | 必填 | 说明                                                   |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前处于激活状态的系统帐号的ID列表;否则为错误对象。 |
Z
zhangalong 已提交
1619

J
jidong 已提交
1620 1621 1622 1623
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1624
| 12300001 | System service exception. |
J
jidong 已提交
1625

1626
**示例:**
Z
zhangalong 已提交
1627

1628
  ```ts
1629
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1630
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
1631
  try {
1632
    accountManager.getActivatedOsAccountLocalIds((err: BusinessError, idArray: number[])=>{
C
cclicn 已提交
1633 1634
      console.log('getActivatedOsAccountLocalIds err:' + JSON.stringify(err));
      console.log('getActivatedOsAccountLocalIds idArray length:' + idArray.length);
J
jidong 已提交
1635 1636 1637 1638 1639
      for(let i=0;i<idArray.length;i++) {
        console.info('activated os account id: ' + idArray[i]);
      }
    });
  } catch (e) {
C
chennian 已提交
1640
    console.log('getActivatedOsAccountLocalIds exception: ' + JSON.stringify(e));
J
jidong 已提交
1641
  }
Z
zhangalong 已提交
1642 1643
  ```

C
cclicn 已提交
1644
### getActivatedOsAccountLocalIds<sup>9+</sup>
Z
zhangalong 已提交
1645

C
cclicn 已提交
1646
getActivatedOsAccountLocalIds(): Promise&lt;Array&lt;number&gt;&gt;
1647

J
jidong 已提交
1648
查询当前处于激活状态的系统帐号的ID列表。使用Promise异步回调。
Z
zhangalong 已提交
1649

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

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

J
jidong 已提交
1654 1655 1656
| 类型                               | 说明                                               |
| :--------------------------------- | :------------------------------------------------ |
| Promise&lt;Array&lt;number&gt;&gt; | Promise对象,返回当前处于激活状态的系统帐号的ID列表。 |
Z
zengyawen 已提交
1657

J
jidong 已提交
1658 1659 1660 1661
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1662
| 12300001 | System service exception. |
J
jidong 已提交
1663

1664
**示例:**
Z
zhangalong 已提交
1665

1666
  ```ts
1667
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1668
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
1669
  try {
1670
    accountManager.getActivatedOsAccountLocalIds().then((idArray: number[]) => {
C
cclicn 已提交
1671
      console.log('getActivatedOsAccountLocalIds, idArray: ' + idArray);
1672
    }).catch((err: BusinessError) => {
C
chennian 已提交
1673
      console.log('getActivatedOsAccountLocalIds err: ' + JSON.stringify(err));
J
jidong 已提交
1674 1675
    });
  } catch (e) {
C
chennian 已提交
1676
    console.log('getActivatedOsAccountLocalIds exception: ' + JSON.stringify(e));
J
jidong 已提交
1677
  }
Z
zhangalong 已提交
1678 1679
  ```

J
jidong 已提交
1680
### createOsAccount
1681

J
jidong 已提交
1682
createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
1683

J
jidong 已提交
1684 1685 1686 1687 1688
创建一个系统帐号。使用callback异步回调。

**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1689 1690 1691 1692 1693

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

**参数:**

J
jidong 已提交
1694 1695 1696 1697 1698 1699 1700
| 参数名    | 类型                                                 | 必填 | 说明                                                                         |
| :-------- | ---------------------------------------------------- | ---- | --------------------------------------------------------------------------- |
| localName | string                                               | 是   | 创建的系统帐号的名称。                                                        |
| type      | [OsAccountType](#osaccounttype)                      | 是   | 创建的系统帐号的类型。                                                        |
| callback  | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果创建成功,err为null,data为新创建的系统帐号的信息;否则为错误对象。 |

**错误码:**
J
jidong 已提交
1701 1702 1703 1704

| 错误码ID  | 错误信息                   |
| -------- | ------------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1705
| 12300002 | Invalid localName or type. |
J
jidong 已提交
1706 1707
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1708
| 12300007 | The number of accounts reaches the upper limit. |
1709 1710 1711

**示例:**

1712
  ```ts
1713
  import { BusinessError } from '@ohos.base';
1714 1715
  let accountManager = account_osAccount.getAccountManager();
  try {
1716 1717
    accountManager.createOsAccount('testName', account_osAccount.OsAccountType.NORMAL,
      (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1718 1719
      console.log('createOsAccount err:' + JSON.stringify(err));
      console.log('createOsAccount osAccountInfo:' + JSON.stringify(osAccountInfo));
1720 1721
    });
  } catch (e) {
C
chennian 已提交
1722
    console.log('createOsAccount exception: ' + JSON.stringify(e));
1723 1724 1725
  }
  ```

J
jidong 已提交
1726
### createOsAccount
1727

J
jidong 已提交
1728
createOsAccount(localName: string, type: OsAccountType): Promise&lt;OsAccountInfo&gt;
1729

J
jidong 已提交
1730 1731 1732 1733 1734
创建一个系统帐号。使用Promise异步回调。 

**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1735 1736 1737

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

J
jidong 已提交
1738 1739 1740 1741 1742 1743 1744
**参数:**

| 参数名    | 类型                            | 必填 | 说明                   |
| --------- | ------------------------------- | ---- | ---------------------- |
| localName | string                          | 是   | 创建的系统帐号的名称。 |
| type      | [OsAccountType](#osaccounttype) | 是   | 创建的系统帐号的类型。 |

1745 1746
**返回值:**

J
jidong 已提交
1747 1748
| 类型                                           | 说明                                  |
| ---------------------------------------------- | ------------------------------------- |
A
Annie_wang 已提交
1749
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回新创建的系统帐号的信息。 |
J
jidong 已提交
1750 1751

**错误码:**
J
jidong 已提交
1752 1753 1754 1755

| 错误码ID  | 错误信息                   |
| -------- | ------------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1756
| 12300002 | Invalid localName or type. |
J
jidong 已提交
1757 1758
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1759
| 12300007 | The number of accounts reaches the upper limit. |
1760 1761 1762

**示例:**

1763
  ```ts
1764
  import { BusinessError } from '@ohos.base';
1765 1766
  let accountManager = account_osAccount.getAccountManager();
  try {
1767 1768
    accountManager.createOsAccount('testAccountName', account_osAccount.OsAccountType.NORMAL).then(
      (accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1769
      console.log('createOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1770
    }).catch((err: BusinessError) => {
C
chennian 已提交
1771
      console.log('createOsAccount err: ' + JSON.stringify(err));
1772 1773
    });
  } catch (e) {
C
chennian 已提交
1774
    console.log('createOsAccount exception: ' + JSON.stringify(e));
1775 1776 1777
  }
  ```

J
jidong 已提交
1778
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1779

J
jidong 已提交
1780
createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
Z
zhangalong 已提交
1781

J
jidong 已提交
1782
根据域帐号信息,创建一个系统帐号并将其与域帐号关联。使用callback异步回调。
Z
zhangalong 已提交
1783

J
jidong 已提交
1784 1785 1786
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
1788 1789 1790
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
1792
| 参数名     | 类型                                                 | 必填 | 说明                                                                         |
J
jidong 已提交
1793
| ---------- | ---------------------------------------------------- | ---- | -------------------------------------------------------------------------- |
J
jidong 已提交
1794 1795 1796 1797 1798
| type       | [OsAccountType](#osaccounttype)                      | 是   | 创建的系统帐号的类型。                                                       |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8)              | 是   | 域帐号信息。                                                               |
| callback   | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果创建成功,err为null,data为新创建的系统帐号的信息;否则为错误对象。 |

**错误码:**
J
jidong 已提交
1799

J
jidong 已提交
1800
| 错误码ID | 错误信息                     |
J
jidong 已提交
1801 1802
| -------- | ------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1803
| 12300002 | Invalid type or domainInfo. |
J
jidong 已提交
1804 1805
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1806
| 12300007 | The number of accounts reaches the upper limit. |
Z
zhangalong 已提交
1807

1808
**示例:**
Z
zhangalong 已提交
1809

1810
  ```ts
1811
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1812
  let accountManager = account_osAccount.getAccountManager();
C
cclicn 已提交
1813 1814
  let domainInfo: account_osAccount.DomainAccountInfo =
    {domain: 'testDomain', accountName: 'testAccountName'};
J
jidong 已提交
1815
  try {
1816 1817
    accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo,
      (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1818 1819 1820 1821
      console.log('createOsAccountForDomain err:' + JSON.stringify(err));
      console.log('createOsAccountForDomain osAccountInfo:' + JSON.stringify(osAccountInfo));
    });
  } catch (e) {
C
chennian 已提交
1822
    console.log('createOsAccountForDomain exception: ' + JSON.stringify(e));
J
jidong 已提交
1823
  }
Z
zhangalong 已提交
1824 1825
  ```

J
jidong 已提交
1826
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1827

J
jidong 已提交
1828
createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise&lt;OsAccountInfo&gt;
Z
zhangalong 已提交
1829

J
jidong 已提交
1830
根据传入的域帐号信息,创建与其关联的系统帐号。使用Promise异步回调。 
Z
zhangalong 已提交
1831

J
jidong 已提交
1832 1833 1834
**系统接口:** 此接口为系统接口。

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

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

J
jidong 已提交
1838 1839 1840 1841 1842 1843 1844
**参数:**

| 参数名     | 类型                                      | 必填 | 说明                 |
| ---------- | ---------------------------------------- | ---- | -------------------- |
| type       | [OsAccountType](#osaccounttype)          | 是   | 创建的系统帐号的类型。 |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。          |

Z
zengyawen 已提交
1845
**返回值:**
Z
zhangalong 已提交
1846

J
jidong 已提交
1847 1848 1849 1850 1851
| 类型                                           | 说明                                    |
| ---------------------------------------------- | -------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回新创建的系统帐号的信息。 |

**错误码:**
J
jidong 已提交
1852

J
jidong 已提交
1853
| 错误码ID | 错误信息                     |
J
jidong 已提交
1854 1855
| -------- | ------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1856
| 12300002 | Invalid type or domainInfo. |
J
jidong 已提交
1857 1858
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1859
| 12300007 | The number of accounts reaches the upper limit. |
Z
zengyawen 已提交
1860

1861
**示例:**
Z
zhangalong 已提交
1862

1863
  ```ts
1864
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1865
  let accountManager = account_osAccount.getAccountManager();
C
cclicn 已提交
1866 1867
  let domainInfo: account_osAccount.DomainAccountInfo =
    {domain: 'testDomain', accountName: 'testAccountName'};
J
jidong 已提交
1868
  try {
1869 1870
    accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo).then(
      (accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1871
      console.log('createOsAccountForDomain, account info: ' + JSON.stringify(accountInfo));
1872
    }).catch((err: BusinessError) => {
C
chennian 已提交
1873
      console.log('createOsAccountForDomain err: ' + JSON.stringify(err));
J
jidong 已提交
1874 1875
    });
  } catch (e) {
C
chennian 已提交
1876
    console.log('createOsAccountForDomain exception: ' + JSON.stringify(e));
J
jidong 已提交
1877
  }
Z
zhangalong 已提交
1878 1879
  ```

J
jidong 已提交
1880
### getCurrentOsAccount<sup>9+</sup>
1881

J
jidong 已提交
1882
getCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void
1883

J
jidong 已提交
1884 1885
查询当前进程所属的系统帐号的信息。使用callback异步回调。

1886
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.GET_LOCAL_ACCOUNTS<sup>10+</sup>
1887 1888 1889 1890 1891

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

**参数:**

J
jidong 已提交
1892 1893 1894
| 参数名   | 类型                                                 | 必填 | 说明                                           |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号信息;否则为错误对象。 |
1895

J
jidong 已提交
1896 1897 1898 1899 1900 1901
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

J
jidong 已提交
1902
**示例:**
1903

1904
  ```ts
1905
  import { BusinessError } from '@ohos.base';
1906 1907
  let accountManager = account_osAccount.getAccountManager();
  try {
1908
    accountManager.getCurrentOsAccount((err: BusinessError, curAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1909 1910
      console.log('getCurrentOsAccount err:' + JSON.stringify(err));
      console.log('getCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
1911 1912
    });
  } catch (e) {
C
chennian 已提交
1913
    console.log('getCurrentOsAccount exception: ' + JSON.stringify(e));
1914 1915 1916
  }
  ```

J
jidong 已提交
1917
### getCurrentOsAccount<sup>9+</sup>
1918

J
jidong 已提交
1919
getCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
1920

J
jidong 已提交
1921
查询当前进程所属的系统帐号的信息。使用Promise异步回调。
1922

1923
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.GET_LOCAL_ACCOUNTS<sup>10+</sup>
1924

J
jidong 已提交
1925
**系统能力:** SystemCapability.Account.OsAccount
1926 1927 1928

**返回值:**

J
jidong 已提交
1929 1930 1931
| 类型                                           | 说明                                       |
| ---------------------------------------------- | ----------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回当前进程所属的系统帐号信息。 |
1932

J
jidong 已提交
1933 1934 1935 1936 1937 1938
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

J
jidong 已提交
1939
**示例:**
1940

1941
  ```ts
1942
  import { BusinessError } from '@ohos.base';
1943 1944
  let accountManager = account_osAccount.getAccountManager();
  try {
1945
    accountManager.getCurrentOsAccount().then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1946
      console.log('getCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1947
    }).catch((err: BusinessError) => {
C
chennian 已提交
1948
      console.log('getCurrentOsAccount err: ' + JSON.stringify(err));
1949 1950
    });
  } catch (e) {
C
chennian 已提交
1951
    console.log('getCurrentOsAccount exception: ' + JSON.stringify(e));
1952 1953 1954
  }
  ```

J
jidong 已提交
1955
### queryOsAccountById
Z
zhangalong 已提交
1956

J
jidong 已提交
1957
queryOsAccountById(localId: number, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
Z
zhangalong 已提交
1958

J
jidong 已提交
1959
查询指定系统帐号的信息。使用callback异步回调。
Z
zhangalong 已提交
1960

J
jidong 已提交
1961 1962 1963
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
1964

Z
zengyawen 已提交
1965 1966 1967
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
1969 1970 1971 1972
| 参数名   | 类型                                                 | 必填 | 说明                                                                       |
| -------- | ---------------------------------------------------- | ---- | ------------------------------------------------------------------------ |
| localId  | number                                               | 是   | 要查询的系统帐号的ID。                                                      |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果查询成功,err为null,data为查到的系统帐号的信息;否则为错误对象。 |
Z
zhangalong 已提交
1973

J
jidong 已提交
1974
**错误码:**
J
jidong 已提交
1975

J
jidong 已提交
1976 1977
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1978
| 12300001 | System service exception. |
J
jidong 已提交
1979
| 12300002 | Invalid localId.    |
J
jidong 已提交
1980
| 12300003 | Account not found. |
J
jidong 已提交
1981 1982

**示例:** 查询ID为100的系统帐号信息
Z
zhangalong 已提交
1983

1984
  ```ts
1985
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1986
  let accountManager = account_osAccount.getAccountManager();
1987
  let localId: number = 100;
J
jidong 已提交
1988
  try {
1989
    accountManager.queryOsAccountById(localId, (err: BusinessError, accountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1990 1991 1992 1993
      console.log('queryOsAccountById err:' + JSON.stringify(err));
      console.log('queryOsAccountById accountInfo:' + JSON.stringify(accountInfo));
    });
  } catch (e) {
C
chennian 已提交
1994
    console.log('queryOsAccountById exception: ' + JSON.stringify(e));
J
jidong 已提交
1995
  }
Z
zhangalong 已提交
1996 1997
  ```

J
jidong 已提交
1998
### queryOsAccountById
Z
zhangalong 已提交
1999

J
jidong 已提交
2000
queryOsAccountById(localId: number): Promise&lt;OsAccountInfo&gt;
Z
zhangalong 已提交
2001

J
jidong 已提交
2002
查询指定系统帐号的信息。使用Promise异步回调。
Z
zhangalong 已提交
2003

J
jidong 已提交
2004 2005 2006
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2007

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

Z
zengyawen 已提交
2010
**参数:**
Z
zhangalong 已提交
2011

J
jidong 已提交
2012 2013 2014
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
| localId | number | 是   | 要查询的系统帐号的ID |
Z
zhangalong 已提交
2015

Z
zengyawen 已提交
2016
**返回值:**
Z
zhangalong 已提交
2017

J
jidong 已提交
2018 2019 2020
| 类型                                           | 说明                                 |
| ---------------------------------------------- | ------------------------------------ |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回查到的系统帐号的信息。 |
Z
zengyawen 已提交
2021

J
jidong 已提交
2022
**错误码:**
J
jidong 已提交
2023

J
jidong 已提交
2024 2025
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2026
| 12300001 | System service exception. |
C
chennian 已提交
2027
| 12300002 | Invalid localId. |
J
jidong 已提交
2028
| 12300003 | Account not found. |
J
jidong 已提交
2029 2030

**示例:** 查询ID为100的系统帐号信息
Z
zhangalong 已提交
2031

2032
  ```ts
2033
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2034
  let accountManager = account_osAccount.getAccountManager();
2035
  let localId: number = 100;
J
jidong 已提交
2036
  try {
2037
    accountManager.queryOsAccountById(localId).then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
2038
      console.log('queryOsAccountById, accountInfo: ' + JSON.stringify(accountInfo));
2039
    }).catch((err: BusinessError) => {
C
chennian 已提交
2040
      console.log('queryOsAccountById err: ' + JSON.stringify(err));
J
jidong 已提交
2041 2042
    });
  } catch (e) {
C
chennian 已提交
2043
    console.log('queryOsAccountById exception: ' + JSON.stringify(e));
J
jidong 已提交
2044
  }
Z
zhangalong 已提交
2045 2046
  ```

J
jidong 已提交
2047
### getOsAccountType<sup>9+</sup>
2048

J
jidong 已提交
2049
getOsAccountType(callback: AsyncCallback&lt;OsAccountType&gt;): void
2050

J
jidong 已提交
2051
查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
2052 2053 2054 2055 2056

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

**参数:**

J
jidong 已提交
2057 2058 2059
| 参数名   | 类型                                                 | 必填 | 说明                                                 |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountType](#osaccounttype)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号的帐号类型;否则为错误对象。 |
2060

J
jidong 已提交
2061 2062 2063 2064 2065 2066
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

2067 2068
**示例:**

2069
  ```ts
2070
  import { BusinessError } from '@ohos.base';
2071 2072
  let accountManager = account_osAccount.getAccountManager();
  try {
2073
    accountManager.getOsAccountType((err: BusinessError, accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
2074 2075
      console.log('getOsAccountType err: ' + JSON.stringify(err));
      console.log('getOsAccountType accountType: ' + accountType);
2076 2077
    });
  } catch (e) {
J
jidong 已提交
2078
    console.log('getOsAccountType exception: ' + JSON.stringify(e));
2079 2080 2081
  }
  ```

J
jidong 已提交
2082
### getOsAccountType<sup>9+</sup>
2083

J
jidong 已提交
2084
getOsAccountType(): Promise&lt;OsAccountType&gt;
2085

J
jidong 已提交
2086
查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
2087 2088 2089 2090 2091

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

**返回值:**

J
jidong 已提交
2092 2093 2094
| 类型                                           | 说明                                             |
| ---------------------------------------------- | ----------------------------------------------- |
| Promise&lt;[OsAccountType](#osaccounttype)&gt; | Promise对象,返回当前进程所属的系统帐号的帐号类型。 |
2095

J
jidong 已提交
2096 2097 2098 2099 2100 2101
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

2102 2103
**示例:**

2104
  ```ts
2105
  import { BusinessError } from '@ohos.base';
2106 2107
  let accountManager = account_osAccount.getAccountManager();
  try {
2108
    accountManager.getOsAccountType().then((accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
2109
      console.log('getOsAccountType, accountType: ' + accountType);
2110
    }).catch((err: BusinessError) => {
C
chennian 已提交
2111
      console.log('getOsAccountType err: ' + JSON.stringify(err));
2112 2113
    });
  } catch (e) {
J
jidong 已提交
2114
    console.log('getOsAccountType exception: ' + JSON.stringify(e));
2115 2116 2117
  }
  ```

J
jidong 已提交
2118
### queryDistributedVirtualDeviceId<sup>9+</sup>
Z
zhangalong 已提交
2119

J
jidong 已提交
2120
queryDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void
Z
zhangalong 已提交
2121

J
jidong 已提交
2122
获取分布式虚拟设备ID。使用callback异步回调。
2123

J
jidong 已提交
2124
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2125 2126

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

Z
zengyawen 已提交
2128
**参数:**
Z
zhangalong 已提交
2129

J
jidong 已提交
2130 2131 2132
| 参数名   | 类型                        | 必填 | 说明                                                                   |
| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。如果获取成功,err为null,data为分布式虚拟设备ID;否则为错误对象。 |
Z
zengyawen 已提交
2133

J
jidong 已提交
2134 2135 2136 2137 2138 2139
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

2140
**示例:**
Z
zhangalong 已提交
2141

2142
  ```ts
2143
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2144
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2145
  try {
2146
    accountManager.queryDistributedVirtualDeviceId((err: BusinessError, virtualID: string) => {
J
jidong 已提交
2147 2148 2149 2150 2151 2152
      console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
      console.log('queryDistributedVirtualDeviceId virtualID: ' + virtualID);
    });
  } catch (e) {
    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
  }
Z
zhangalong 已提交
2153 2154
  ```

J
jidong 已提交
2155
### queryDistributedVirtualDeviceId<sup>9+</sup>
Z
zhangalong 已提交
2156

J
jidong 已提交
2157
queryDistributedVirtualDeviceId(): Promise&lt;string&gt;
Z
zhangalong 已提交
2158

J
jidong 已提交
2159
获取分布式虚拟设备ID。使用Promise异步回调。
2160

J
jidong 已提交
2161
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2162 2163 2164 2165

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

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

J
jidong 已提交
2167 2168 2169
| 类型                  | 说明                              |
| --------------------- | --------------------------------- |
| Promise&lt;string&gt; | Promise对象,返回分布式虚拟设备ID。 |
Z
zhangalong 已提交
2170

J
jidong 已提交
2171 2172 2173 2174 2175 2176
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |

2177
**示例:**
Z
zhangalong 已提交
2178

2179
  ```ts
2180
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2181
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2182
  try {
2183
    accountManager.queryDistributedVirtualDeviceId().then((virtualID: string) => {
J
jidong 已提交
2184
      console.log('queryDistributedVirtualDeviceId, virtualID: ' + virtualID);
2185
    }).catch((err: BusinessError) => {
C
chennian 已提交
2186
      console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
J
jidong 已提交
2187 2188 2189 2190
    });
  } catch (e) {
    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
  }
Z
zhangalong 已提交
2191 2192
  ```

J
jidong 已提交
2193
### getOsAccountProfilePhoto
Z
zhangalong 已提交
2194

J
jidong 已提交
2195
getOsAccountProfilePhoto(localId: number, callback: AsyncCallback&lt;string&gt;): void
Z
zhangalong 已提交
2196

J
jidong 已提交
2197
获取指定系统帐号的头像信息。使用callback异步回调。
Z
zhangalong 已提交
2198

J
jidong 已提交
2199 2200 2201
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
2205 2206
**参数:**

J
jidong 已提交
2207 2208 2209 2210
| 参数名   | 类型                        | 必填 | 说明                                                                         |
| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
| localId  | number                      | 是   | 系统帐号ID。                                                                |
| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。如果获取成功,err为null,data为指定系统帐号的头像信息;否则为错误对象。 |
Z
zengyawen 已提交
2211

J
jidong 已提交
2212
**错误码:**
J
jidong 已提交
2213

J
jidong 已提交
2214 2215
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2216
| 12300001 | System service exception. |
J
jidong 已提交
2217
| 12300002 | Invalid localId.    |
J
jidong 已提交
2218
| 12300003 | Account not found. |
J
jidong 已提交
2219 2220

**示例:** 获取ID为100的系统帐号的头像
Z
zhangalong 已提交
2221

2222
  ```ts
2223
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2224
  let accountManager = account_osAccount.getAccountManager();
2225
  let localId: number = 100;
2226
  try {
2227
    accountManager.getOsAccountProfilePhoto(localId, (err: BusinessError, photo: string)=>{
J
jidong 已提交
2228 2229
      console.log('getOsAccountProfilePhoto err:' + JSON.stringify(err));
      console.log('get photo:' + photo + ' by localId: ' + localId);
2230 2231
    });
  } catch (e) {
C
chennian 已提交
2232
    console.log('getOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2233
  }
Z
zhangalong 已提交
2234 2235
  ```

J
jidong 已提交
2236
### getOsAccountProfilePhoto
Z
zhangalong 已提交
2237

J
jidong 已提交
2238
getOsAccountProfilePhoto(localId: number): Promise&lt;string&gt;
Z
zhangalong 已提交
2239

J
jidong 已提交
2240
获取指定系统帐号的头像信息。使用Promise异步回调。
Z
zhangalong 已提交
2241

J
jidong 已提交
2242 2243 2244
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2245 2246 2247

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

J
jidong 已提交
2248 2249 2250 2251 2252 2253
**参数:**

| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |

Z
zengyawen 已提交
2254
**返回值:**
Z
zhangalong 已提交
2255

J
jidong 已提交
2256 2257 2258
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;string&gt; | Promise对象,返回指定系统帐号的头像信息。 |
Z
zhangalong 已提交
2259

J
jidong 已提交
2260
**错误码:**
J
jidong 已提交
2261

J
jidong 已提交
2262 2263
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2264
| 12300001 | System service exception. |
J
jidong 已提交
2265
| 12300002 | Invalid localId.    |
J
jidong 已提交
2266
| 12300003 | Account not found. |
J
jidong 已提交
2267 2268

**示例:** 获取ID为100的系统帐号的头像
Z
zhangalong 已提交
2269

2270
  ```ts
2271
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2272
  let accountManager = account_osAccount.getAccountManager();
2273
  let localId: number = 100;
2274
  try {
2275
    accountManager.getOsAccountProfilePhoto(localId).then((photo: string) => {
J
jidong 已提交
2276
      console.log('getOsAccountProfilePhoto: ' + photo);
2277
    }).catch((err: BusinessError) => {
C
chennian 已提交
2278
      console.log('getOsAccountProfilePhoto err: ' + JSON.stringify(err));
2279 2280
    });
  } catch (e) {
C
chennian 已提交
2281
    console.log('getOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2282 2283 2284
  }
  ```

J
jidong 已提交
2285
### setOsAccountProfilePhoto
2286

J
jidong 已提交
2287 2288 2289
setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback&lt;void&gt;): void

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

J
jidong 已提交
2291
**系统接口:** 此接口为系统接口。
2292

J
jidong 已提交
2293
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2294 2295 2296 2297 2298

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

**参数:**

J
jidong 已提交
2299 2300 2301 2302
| 参数名   | 类型                      | 必填 | 说明         |
| -------- | ------------------------- | ---- | ------------ |
| localId  | number                    | 是   | 系统帐号ID。 |
| photo    | string                    | 是   | 头像信息。   |
2303
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。  |
J
jidong 已提交
2304 2305

**错误码:**
J
jidong 已提交
2306

J
jidong 已提交
2307 2308
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2309 2310 2311 2312
| 12300001 | System service exception. |
| 12300002 | Invalid localId or photo.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
2313

J
jidong 已提交
2314
**示例:** 给ID为100的系统帐号设置头像
2315

2316
  ```ts
2317
  import { BusinessError } from '@ohos.base';
2318
  let accountManager = account_osAccount.getAccountManager();
2319 2320
  let localId: number = 100;
  let photo: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
J
jidong 已提交
2321 2322 2323
  'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
  'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
  '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
2324
  try {
2325
    accountManager.setOsAccountProfilePhoto(localId, photo, (err: BusinessError)=>{
J
jidong 已提交
2326
      console.log('setOsAccountProfilePhoto err:' + JSON.stringify(err));
2327 2328
    });
  } catch (e) {
C
chennian 已提交
2329
    console.log('setOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2330 2331 2332
  }
  ```

J
jidong 已提交
2333
### setOsAccountProfilePhoto
2334

J
jidong 已提交
2335 2336 2337
setOsAccountProfilePhoto(localId: number, photo: string): Promise&lt;void&gt;

为指定系统帐号设置头像信息。使用Promise异步回调。
2338

J
jidong 已提交
2339
**系统接口:** 此接口为系统接口。
2340

J
jidong 已提交
2341
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2342 2343 2344 2345 2346 2347 2348 2349

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

**参数:**

| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
J
jidong 已提交
2350
| photo   | string | 是   | 头像信息。   |
2351 2352 2353

**返回值:**

J
jidong 已提交
2354
| 类型                | 说明                                 |
J
jidong 已提交
2355
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
2356
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
2357

J
jidong 已提交
2358
**错误码:**
J
jidong 已提交
2359

J
jidong 已提交
2360 2361
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2362 2363 2364 2365
| 12300001 | System service exception. |
| 12300002 | Invalid localId or photo.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
2366 2367

**示例:** 给ID为100的系统帐号设置头像
2368

2369
  ```ts
2370
  import { BusinessError } from '@ohos.base';
2371
  let accountManager = account_osAccount.getAccountManager();
2372 2373
  let localId: number = 100;
  let photo: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
J
jidong 已提交
2374 2375 2376
  'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
  'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
  '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
2377
  try {
J
jidong 已提交
2378 2379
    accountManager.setOsAccountProfilePhoto(localId, photo).then(() => {
      console.log('setOsAccountProfilePhoto success');
2380
    }).catch((err: BusinessError) => {
C
chennian 已提交
2381
      console.log('setOsAccountProfilePhoto err: ' + JSON.stringify(err));
2382 2383
    });
  } catch (e) {
C
chennian 已提交
2384
    console.log('setOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2385
  }
Z
zhangalong 已提交
2386 2387
  ```

C
cclicn 已提交
2388
### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
Z
zhangalong 已提交
2389

C
cclicn 已提交
2390
getOsAccountLocalIdForSerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void
2391

J
jidong 已提交
2392
通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。
Z
zhangalong 已提交
2393

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

Z
zengyawen 已提交
2396 2397
**参数:**

J
jidong 已提交
2398 2399 2400 2401
| 参数名       | 类型                        | 必填 | 说明                                                                           |
| ------------ | --------------------------- | ---- | ---------------------------------------------------------------------------- |
| serialNumber | number                      | 是   | 帐号SN码。                                                                    |
| callback     | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。 |
Z
zengyawen 已提交
2402

J
jidong 已提交
2403
**错误码:**
J
jidong 已提交
2404

J
jidong 已提交
2405
| 错误码ID | 错误信息               |
J
jidong 已提交
2406
| -------- | ------------------- |
C
chennian 已提交
2407 2408 2409
| 12300001 | System service exception. |
| 12300002 | Invalid serialNumber. |
| 12300003 | The account indicated by serialNumber dose not exist. |
J
jidong 已提交
2410 2411

**示例:** 查询与SN码12345关联的系统帐号的ID
Z
zhangalong 已提交
2412

2413
  ```ts
2414
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2415
  let accountManager = account_osAccount.getAccountManager();
2416
  let serialNumber: number = 12345;
J
jidong 已提交
2417
  try {
2418
    accountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err: BusinessError, localId: number)=>{
J
jidong 已提交
2419 2420 2421 2422
      console.log('ger localId err:' + JSON.stringify(err));
      console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
    });
  } catch (e) {
C
chennian 已提交
2423
    console.log('ger localId exception: ' + JSON.stringify(e));
J
jidong 已提交
2424
  }
Z
zhangalong 已提交
2425 2426
  ```

C
cclicn 已提交
2427
### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
2428

C
cclicn 已提交
2429
getOsAccountLocalIdForSerialNumber(serialNumber: number): Promise&lt;number&gt;
Z
zengyawen 已提交
2430

J
jidong 已提交
2431
通过SN码查询与其关联的系统帐号的帐号ID。使用Promise异步回调。
Z
zhangalong 已提交
2432

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

Z
zengyawen 已提交
2435
**参数:**
Z
zhangalong 已提交
2436

J
jidong 已提交
2437 2438 2439
| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |
Z
zhangalong 已提交
2440

Z
zengyawen 已提交
2441
**返回值:**
Z
zhangalong 已提交
2442

J
jidong 已提交
2443
| 类型                  | 说明                                         |
J
jidong 已提交
2444
| --------------------- | -------------------------------------------- |
J
jidong 已提交
2445
| Promise&lt;number&gt; | Promise对象,返回与SN码关联的系统帐号的帐号ID。 |
Z
zengyawen 已提交
2446

J
jidong 已提交
2447
**错误码:**
J
jidong 已提交
2448

J
jidong 已提交
2449
| 错误码ID | 错误信息               |
J
jidong 已提交
2450
| -------- | ------------------- |
C
chennian 已提交
2451 2452 2453
| 12300001 | System service exception. |
| 12300002 | Invalid serialNumber. |
| 12300003 | The account indicated by serialNumber dose not exist. |
J
jidong 已提交
2454 2455

**示例:** 查询与SN码12345关联的系统帐号的ID
Z
zhangalong 已提交
2456

2457
  ```ts
2458
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2459
  let accountManager = account_osAccount.getAccountManager();
2460
  let serialNumber: number = 12345;
J
jidong 已提交
2461
  try {
2462
    accountManager.getOsAccountLocalIdForSerialNumber(serialNumber).then((localId: number) => {
C
cclicn 已提交
2463
      console.log('getOsAccountLocalIdForSerialNumber localId: ' + localId);
2464
    }).catch((err: BusinessError) => {
C
chennian 已提交
2465
      console.log('getOsAccountLocalIdForSerialNumber err: ' + JSON.stringify(err));
J
jidong 已提交
2466 2467
    });
  } catch (e) {
C
chennian 已提交
2468
    console.log('getOsAccountLocalIdForSerialNumber exception: ' + JSON.stringify(e));
J
jidong 已提交
2469
  }
Z
zhangalong 已提交
2470 2471
  ```

C
cclicn 已提交
2472
### getSerialNumberForOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
2473

C
cclicn 已提交
2474
getSerialNumberForOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
2475

J
jidong 已提交
2476
通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。
Z
zengyawen 已提交
2477 2478

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

Z
zengyawen 已提交
2480
**参数:**
Z
zhangalong 已提交
2481

J
jidong 已提交
2482 2483 2484 2485
| 参数名   | 类型                        | 必填 | 说明                                                                         |
| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
| localId  | number                      | 是   | 系统帐号ID。                                                                 |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果获取成功,err为null,data为与该系统帐号关联的SN码;否则为错误对象。 |
Z
zengyawen 已提交
2486

J
jidong 已提交
2487 2488 2489 2490
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
2491 2492 2493
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
2494 2495

**示例:** 获取ID为100的系统帐号关联的SN码
Z
zhangalong 已提交
2496

2497
  ```ts
2498
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2499
  let accountManager = account_osAccount.getAccountManager();
2500
  let localId: number = 100;
2501
  try {
2502
    accountManager.getSerialNumberForOsAccountLocalId(localId, (err: BusinessError, serialNumber: number)=>{
J
jidong 已提交
2503 2504
      console.log('ger serialNumber err:' + JSON.stringify(err));
      console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
2505 2506
    });
  } catch (e) {
C
chennian 已提交
2507
    console.log('ger serialNumber exception: ' + JSON.stringify(e));
2508
  }
Z
zhangalong 已提交
2509 2510
  ```

C
cclicn 已提交
2511
### getSerialNumberForOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
2512

C
cclicn 已提交
2513
getSerialNumberForOsAccountLocalId(localId: number): Promise&lt;number&gt;
Z
zhangalong 已提交
2514

J
jidong 已提交
2515
通过系统帐号ID获取与该系统帐号关联的SN码。使用Promise异步回调。
Z
zengyawen 已提交
2516 2517

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

J
jidong 已提交
2519 2520 2521 2522 2523
**参数:**

| 参数名  | 类型   | 必填 | 说明          |
| ------- | ------ | ---- | ----------- |
| localId | number | 是   | 系统帐号ID。 |
L
lichenchen 已提交
2524

Z
zengyawen 已提交
2525
**返回值:**
Z
zhangalong 已提交
2526

J
jidong 已提交
2527 2528 2529
| 类型                  | 说明                                    |
| :-------------------- | :------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与该系统帐号关联的SN码。 |
Z
zengyawen 已提交
2530

J
jidong 已提交
2531 2532 2533 2534
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
2535 2536 2537
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
2538 2539

**示例:** 获取ID为100的系统帐号关联的SN码
Z
zhangalong 已提交
2540

2541
  ```ts
2542
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2543
  let accountManager = account_osAccount.getAccountManager();
2544
  let localId: number = 100;
2545
  try {
2546
    accountManager.getSerialNumberForOsAccountLocalId(localId).then((serialNumber: number) => {
C
cclicn 已提交
2547
      console.log('getSerialNumberForOsAccountLocalId serialNumber: ' + serialNumber);
2548
    }).catch((err: BusinessError) => {
C
chennian 已提交
2549
      console.log('getSerialNumberForOsAccountLocalId err: ' + JSON.stringify(err));
2550 2551
    });
  } catch (e) {
C
chennian 已提交
2552
    console.log('getSerialNumberForOsAccountLocalId exception: ' + JSON.stringify(e));
2553 2554 2555
  }
  ```

J
jidong 已提交
2556
### on
2557

J
jidong 已提交
2558 2559
on(type: 'activate' | 'activating', name: string, callback: Callback&lt;number&gt;): void

2560
订阅系统帐号的激活完成与激活中的事件。使用callback异步回调。
2561

J
jidong 已提交
2562 2563 2564
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2565 2566 2567 2568 2569

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

**参数:**

J
jidong 已提交
2570 2571 2572 2573
| 参数名   | 类型                       | 必填 | 说明                                                         |
| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
| type     | 'activate' \| 'activating' | 是   | 订阅类型,activate表示订阅的是帐号已激活完成的事件,activating表示订阅的是帐号正在激活的事件。 |
| name     | string                     | 是   | 订阅名称,可自定义,要求非空且长度不超过1024字节。           |
2574
| callback | Callback&lt;number&gt;     | 是   | 订阅系统帐号激活完成与激活中的事件回调,表示激活完成后或正在激活中的系统帐号ID。    |
2575

J
jidong 已提交
2576 2577 2578 2579 2580 2581 2582
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid type or name. |

2583 2584
**示例:**

2585
  ```ts
2586
  let accountManager = account_osAccount.getAccountManager();
2587
  function onCallback(receiveLocalId: number){
J
jidong 已提交
2588 2589
    console.log('receive localId:' + receiveLocalId);
  }
2590
  try {
J
jidong 已提交
2591
    accountManager.on('activating', 'osAccountOnOffNameA', onCallback);
2592
  } catch (e) {
C
chennian 已提交
2593
    console.log('receive localId exception: ' + JSON.stringify(e));
2594 2595 2596
  }
  ```

J
jidong 已提交
2597
### off
2598

J
jidong 已提交
2599 2600
off(type: 'activate' | 'activating', name: string, callback?: Callback&lt;number&gt;): void

2601
取消订阅系统帐号的激活完成与激活中的事件。使用callback异步回调。
2602

J
jidong 已提交
2603 2604 2605
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2606 2607 2608

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

J
jidong 已提交
2609
**参数:**
2610

J
jidong 已提交
2611 2612 2613
| 参数名   | 类型                       | 必填 | 说明                                                         |
| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
| type     | 'activate' \| 'activating' | 是   | 取消订阅类型,activate表示取消订阅帐号已激活完成的事件,activating取消订阅帐号正在激活的事件。 |
C
cclicn 已提交
2614
| name     | string                     | 是   | 订阅名称,可自定义,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。 |
2615
| callback | Callback&lt;number&gt;     | 否   | 取消订阅系统帐号激活完成与激活中的事件回调,默认为空,表示取消该类型事件的所有回调。                      |
2616

J
jidong 已提交
2617 2618 2619 2620 2621 2622 2623
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid type or name. |

2624 2625
**示例:**

2626
  ```ts
2627
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2628 2629 2630
  function offCallback(){
    console.log('off enter')
  }
2631
  try {
J
jidong 已提交
2632
    accountManager.off('activating', 'osAccountOnOffNameA', offCallback);
2633
  } catch (e) {
C
chennian 已提交
2634
    console.log('off exception: ' + JSON.stringify(e));
2635
  }
Z
zhangalong 已提交
2636 2637
  ```

C
cclicn 已提交
2638
### getBundleIdForUid<sup>9+</sup>
Z
zhangalong 已提交
2639

2640
getBundleIdForUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
2641

J
jidong 已提交
2642
通过uid查询对应的bundleId,使用callback异步回调。
Z
zhangalong 已提交
2643

J
jidong 已提交
2644
**系统接口:** 此接口为系统接口。
2645

Z
zengyawen 已提交
2646 2647 2648
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
2650 2651 2652 2653
| 参数名   | 类型                       | 必填 | 说明                                                                        |
| -------- | --------------------------- | ---- | ------------------------------------------------------------------------ |
| uid      | number                      | 是   | 进程uid。                                                                 |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为与uid对应的bundleId;否则为错误对象。 |
Z
zhangalong 已提交
2654

J
jidong 已提交
2655 2656 2657 2658
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2659 2660
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
2661

2662
**示例:**
Z
zhangalong 已提交
2663

2664
  ```ts
2665
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2666
  let accountManager = account_osAccount.getAccountManager();
2667
  let testUid: number = 1000000;
J
jidong 已提交
2668
  try {
2669
    accountManager.getBundleIdForUid(testUid, (err: BusinessError, bundleId: number) => {
C
cclicn 已提交
2670 2671
      console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
      console.info('getBundleIdForUid bundleId:' + JSON.stringify(bundleId));
J
jidong 已提交
2672 2673
    });
  } catch (e) {
C
chennian 已提交
2674
    console.info('getBundleIdForUid exception: ' + JSON.stringify(e));
J
jidong 已提交
2675
  }
Z
zhangalong 已提交
2676
  ```
2677

C
cclicn 已提交
2678
### getBundleIdForUid<sup>9+</sup>
Z
zhangalong 已提交
2679

2680
getBundleIdForUid(uid: number): Promise&lt;number&gt;
Z
zhangalong 已提交
2681

A
Annie_wang 已提交
2682
通过uid查询对应的bundleId,使用Promise异步回调。
2683

J
jidong 已提交
2684
**系统接口:** 此接口为系统接口。
Z
zhangalong 已提交
2685

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

J
jidong 已提交
2688 2689 2690 2691 2692 2693
**参数:**

| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| uid     | number | 是   |  进程uid。 |

Z
zengyawen 已提交
2694
**返回值:**
Z
zhangalong 已提交
2695

J
jidong 已提交
2696 2697 2698
| 类型                  | 说明                                  |
| --------------------- | ------------------------------------ |
| Promise&lt;number&gt; | Promise对象,返回与uid对应的bundleId。 |
Z
zengyawen 已提交
2699

J
jidong 已提交
2700 2701 2702 2703
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2704 2705
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
2706

2707
**示例:**
Z
zhangalong 已提交
2708

2709
  ```ts
2710
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2711
  let accountManager = account_osAccount.getAccountManager();
2712
  let testUid: number = 1000000;
J
jidong 已提交
2713
  try {
2714
    accountManager.getBundleIdForUid(testUid).then((result: number) => {
C
cclicn 已提交
2715
      console.info('getBundleIdForUid bundleId:' + JSON.stringify(result));
2716
    }).catch((err: BusinessError) => {
C
cclicn 已提交
2717
      console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
J
jidong 已提交
2718 2719
    });
  } catch (e) {
C
chennian 已提交
2720
    console.info('getBundleIdForUid exception: ' + JSON.stringify(e));
J
jidong 已提交
2721 2722
  }
  ```
Z
zhangalong 已提交
2723

2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761
### getBundleIdForUidSync<sup>10+</sup>

getBundleIdForUidSync(uid: number): number

通过uid查询对应的bundleId。使用同步方式返回结果。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| uid     | number | 是   |  进程uid。 |

**返回值:**

| 类型   | 说明                     |
| ------ | ------------------------ |
| number | 表示与进程uid对应的bundleId。 |

**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300002 | Invalid uid. |

**示例:**

  ```ts
  let accountManager = account_osAccount.getAccountManager();
  let testUid: number = 1000000;
  try {
    let bundleId : number = accountManager.getBundleIdForUidSync(testUid);
    console.info('getBundleIdForUidSync bundleId:' + bundleId);
  } catch (e) {
    console.info('getBundleIdForUidSync exception: ' + JSON.stringify(e));
J
jidong 已提交
2762 2763
  }
  ```
Z
zhangalong 已提交
2764

J
jidong 已提交
2765 2766 2767
### isMainOsAccount<sup>9+</sup>

isMainOsAccount(callback: AsyncCallback&lt;boolean&gt;): void;
Z
zhangalong 已提交
2768

J
jidong 已提交
2769
查询当前进程是否处于主用户,使用callback异步回调。
Z
zhangalong 已提交
2770

J
jidong 已提交
2771
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2772 2773

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

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

Z
zengyawen 已提交
2777 2778
**参数:**

J
jidong 已提交
2779 2780 2781
| 参数名   | 类型                          | 必填 | 说明                                                               |
| -------- | ---------------------------- | ---- | ----------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数,返回true表示当前帐号为主帐号,返回false表示当前帐号非主帐号。 |
Z
zengyawen 已提交
2782

J
jidong 已提交
2783 2784 2785 2786 2787 2788
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |

2789
**示例:**
Z
zhangalong 已提交
2790

2791
  ```ts
2792
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2793
  let accountManager = account_osAccount.getAccountManager();
2794
  try {
2795
    accountManager.isMainOsAccount((err: BusinessError,result: boolean)=>{
J
jidong 已提交
2796 2797
      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
      console.info('isMainOsAccount result:' + JSON.stringify(result));
2798 2799
    });
  } catch (e) {
C
chennian 已提交
2800
    console.info('isMainOsAccount exception: ' + JSON.stringify(e));
2801
  }
Z
zhangalong 已提交
2802
  ```
J
jidong 已提交
2803
### isMainOsAccount<sup>9+</sup>
Z
zhangalong 已提交
2804

J
jidong 已提交
2805
isMainOsAccount(): Promise&lt;boolean&gt;;
Z
zhangalong 已提交
2806

J
jidong 已提交
2807
查询当前进程是否处于主用户,使用Promise异步回调。
Z
zhangalong 已提交
2808

J
jidong 已提交
2809
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2810 2811 2812 2813

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

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

Z
zengyawen 已提交
2815
**返回值:**
Z
zhangalong 已提交
2816

J
jidong 已提交
2817 2818 2819
| 类型                   | 说明                                                                  |
| ---------------------- | --------------------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象,返回true表示当前帐号为主帐号,返回false表示当前帐号非主帐号。 |
Z
zengyawen 已提交
2820

J
jidong 已提交
2821 2822 2823 2824 2825 2826
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
| 12300001 | System service exception. |

2827
**示例:**
Z
zhangalong 已提交
2828

2829
  ```ts
2830
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2831
  let accountManager = account_osAccount.getAccountManager();
2832
  try {
2833
    accountManager.isMainOsAccount().then((result: boolean) => {
J
jidong 已提交
2834
      console.info('isMainOsAccount result:' + JSON.stringify(result));
2835
    }).catch((err: BusinessError) => {
J
jidong 已提交
2836
      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
2837 2838
    });
  } catch (e) {
C
chennian 已提交
2839
    console.info('isMainOsAccount exception: ' + JSON.stringify(e));
2840
  }
Z
zhangalong 已提交
2841
  ```
C
cclicn 已提交
2842
### getOsAccountConstraintSourceTypes<sup>9+</sup>
Z
zhangalong 已提交
2843

C
cclicn 已提交
2844
getOsAccountConstraintSourceTypes(localId: number, constraint: string, callback: AsyncCallback&lt;Array&lt;ConstraintSourceTypeInfo&gt;&gt;): void;
Z
zhangalong 已提交
2845

J
jidong 已提交
2846
查询指定系统帐号的指定约束来源信息,使用callback异步回调。
Z
zhangalong 已提交
2847

J
jidong 已提交
2848
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2849 2850 2851 2852

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

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

Z
zengyawen 已提交
2854
**参数:**
Z
zhangalong 已提交
2855

J
jidong 已提交
2856 2857 2858 2859 2860
| 参数名   | 类型                       | 必填 | 说明                                                         |
| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
| localId     | number | 是   |  要查询的系统帐号ID |
| constraint     | string | 是   |  要查询的[约束](#系统帐号约束列表)名称 |
| callback | AsyncCallback&lt;Array&lt;[ConstraintSourceTypeInfo](#constraintsourcetypeinfo)&gt;&gt;     | 是   | 回调函数。如果成功,err为null,data为指定系统帐号的指定[约束](#系统帐号约束列表)来源信息;否则为错误对象。                      |
Z
zengyawen 已提交
2861

J
jidong 已提交
2862 2863 2864 2865
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2866 2867 2868
| 12300001 | System service exception. |
| 12300002 | Invalid name or constraint. |
| 12300003 | Account not found. |
J
jidong 已提交
2869

2870
**示例:**
Z
zhangalong 已提交
2871

2872
  ```ts
2873
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2874
  let accountManager = account_osAccount.getAccountManager();
2875
  try {
2876 2877
    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi',
      (err: BusinessError,sourceTypeInfos: account_osAccount.ConstraintSourceTypeInfo[])=>{
C
cclicn 已提交
2878 2879
      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(sourceTypeInfos));
2880 2881
    });
  } catch (e) {
C
chennian 已提交
2882
    console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e));
2883
  }
Z
zhangalong 已提交
2884 2885
  ```

C
cclicn 已提交
2886
### getOsAccountConstraintSourceTypes<sup>9+</sup>
Z
zhangalong 已提交
2887

C
cclicn 已提交
2888
getOsAccountConstraintSourceTypes(localId: number, constraint: string): Promise&lt;Array&lt;ConstraintSourceTypeInfo&gt;&gt;;
Z
zhangalong 已提交
2889

J
jidong 已提交
2890
查询指定系统帐号的指定约束来源信息,使用Promise异步回调。
Z
zhangalong 已提交
2891

J
jidong 已提交
2892
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2893 2894 2895 2896 2897 2898

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

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

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

J
jidong 已提交
2900 2901 2902 2903
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId     | number | 是   |  要查询的系统帐号ID |
| constraint     | string | 是   |  要查询的[约束](#系统帐号约束列表)名称 |
Z
zhangalong 已提交
2904

Z
zengyawen 已提交
2905
**返回值:**
Z
zhangalong 已提交
2906

J
jidong 已提交
2907
| 类型                  | 说明                                                         |
J
jidong 已提交
2908
| --------------------- | ------------------------------------------------------------ |
J
jidong 已提交
2909
| Promise&lt;Array&lt;[ConstraintSourceTypeInfo](#constraintsourcetypeinfo)&gt;&gt; | Promise对象,返回指定系统帐号的指定[约束](#系统帐号约束列表)来源信息。 |
Z
zhangalong 已提交
2910

J
jidong 已提交
2911 2912 2913 2914
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2915 2916 2917
| 12300001 | System service exception. |
| 12300002 | Invalid name or constraint. |
| 12300003 | Account not found. |
J
jidong 已提交
2918

2919
**示例:**
Z
zhangalong 已提交
2920

2921
  ```ts
2922
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2923
  let accountManager = account_osAccount.getAccountManager();
2924
  try {
2925 2926
    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi').then(
      (result: account_osAccount.ConstraintSourceTypeInfo[]) => {
C
cclicn 已提交
2927
      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(result));
2928
    }).catch((err: BusinessError) => {
C
cclicn 已提交
2929
      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
2930 2931
    });
  } catch (e) {
C
chennian 已提交
2932
    console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e));
2933 2934 2935
  }
  ```

J
jidong 已提交
2936
### isMultiOsAccountEnable<sup>(deprecated)</sup>
2937

J
jidong 已提交
2938
isMultiOsAccountEnable(callback: AsyncCallback&lt;boolean&gt;): void
2939

J
jidong 已提交
2940
判断是否支持多系统帐号。使用callback异步回调。
2941

A
Annie_wang 已提交
2942
> **说明:** 
J
jidong 已提交
2943
>
A
Annie_wang 已提交
2944
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9)。
2945 2946 2947 2948 2949

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

**参数:**

J
jidong 已提交
2950 2951 2952
| 参数名   | 类型                         | 必填 | 说明                                                     |
| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示支持多系统帐号;返回false表示不支持。 |
2953 2954 2955

**示例:**

2956
  ```ts
2957
  import { BusinessError } from '@ohos.base';
2958
  let accountManager = account_osAccount.getAccountManager();
2959
  accountManager.isMultiOsAccountEnable((err: BusinessError, isEnabled: boolean) => {
J
jidong 已提交
2960
    if (err) {
C
chennian 已提交
2961
      console.log('isMultiOsAccountEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
2962
    } else {
C
chennian 已提交
2963
    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
2964 2965
    }
  });
2966 2967
  ```

J
jidong 已提交
2968
### isMultiOsAccountEnable<sup>(deprecated)</sup>
2969

J
jidong 已提交
2970
isMultiOsAccountEnable(): Promise&lt;boolean&gt;
2971

J
jidong 已提交
2972
判断是否支持多系统帐号。使用Promise异步回调。
2973

A
Annie_wang 已提交
2974
> **说明:** 
J
jidong 已提交
2975
>
A
Annie_wang 已提交
2976
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9-1)。
2977 2978 2979 2980 2981

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

**返回值:**

J
jidong 已提交
2982 2983 2984
| 类型                   | 说明                                                       |
| :--------------------- | :--------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示支持多系统帐号;返回false表示不支持。 |
2985 2986 2987

**示例:**

2988
  ```ts
2989
  import { BusinessError } from '@ohos.base';
2990
  let accountManager = account_osAccount.getAccountManager();
2991
  accountManager.isMultiOsAccountEnable().then((isEnabled: boolean) => {
J
jidong 已提交
2992
    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
2993
  }).catch((err: BusinessError) => {
C
chennian 已提交
2994
    console.log('isMultiOsAccountEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
2995
  });
Z
zhangalong 已提交
2996 2997 2998
  ```


J
jidong 已提交
2999
### isOsAccountActived<sup>(deprecated)</sup>
Z
zhangalong 已提交
3000

J
jidong 已提交
3001
isOsAccountActived(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
Z
zhangalong 已提交
3002

J
jidong 已提交
3003 3004
判断指定系统帐号是否处于激活状态。使用callback异步回调。

A
Annie_wang 已提交
3005
> **说明:** 
3006
>
A
Annie_wang 已提交
3007
> 从 API version 7开始支持从API version 9开始废弃, 建议使用[checkOsAccountActivated](#checkosaccountactivated9)。
3008

J
jidong 已提交
3009
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
Z
zhangalong 已提交
3010

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

Z
zengyawen 已提交
3013 3014
**参数:**

J
jidong 已提交
3015 3016 3017 3018
| 参数名   | 类型                         | 必填 | 说明                                                     |
| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
| localId  | number                       | 是   | 系统帐号ID。                                            |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示帐号已激活;返回false表示帐号未激活。 |
Z
zengyawen 已提交
3019

J
jidong 已提交
3020
**示例:** 判断ID为100的系统帐号是否处于激活状态
Z
zhangalong 已提交
3021

3022
  ```ts
3023
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3024
  let accountManager = account_osAccount.getAccountManager();
3025 3026
  let localId: number = 100;
  accountManager.isOsAccountActived(localId, (err: BusinessError, isActived: boolean) => {
J
jidong 已提交
3027 3028 3029 3030 3031
    if (err) {
      console.log('isOsAccountActived failed, err:' + JSON.stringify(err));
    } else {
      console.log('isOsAccountActived successfully, isActived:' + isActived);
    }
Z
zhangalong 已提交
3032 3033 3034
  });
  ```

J
jidong 已提交
3035
### isOsAccountActived<sup>(deprecated)</sup>
Z
zhangalong 已提交
3036

J
jidong 已提交
3037
isOsAccountActived(localId: number): Promise&lt;boolean&gt;
Z
zhangalong 已提交
3038

J
jidong 已提交
3039
判断指定系统帐号是否处于激活状态。使用Promise异步回调。
Z
zhangalong 已提交
3040

A
Annie_wang 已提交
3041
> **说明:** 
3042
>
A
Annie_wang 已提交
3043
> 从 API version 7开始支持从API version 9开始废弃, 建议使用[checkOsAccountActivated](#checkosaccountactivated9-1)。
3044

J
jidong 已提交
3045
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3046 3047 3048

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

J
jidong 已提交
3049 3050 3051 3052 3053 3054
**参数:**

| 参数名  | 类型   | 必填 | 说明                               |
| ------- | ------ | ---- | --------------------------------- |
| localId | number | 是   | 系统帐号ID。 |

Z
zengyawen 已提交
3055
**返回值:**
Z
zhangalong 已提交
3056

J
jidong 已提交
3057 3058 3059
| 类型                   | 说明                                                        |
| --------------------- | ----------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示帐号已激活;返回false表示帐号未激活。 |
Z
zhangalong 已提交
3060

J
jidong 已提交
3061
**示例:** 判断ID为100的系统帐号是否处于激活状态
Z
zhangalong 已提交
3062

3063
  ```ts
3064
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3065
  let accountManager = account_osAccount.getAccountManager();
3066 3067
  let localId: number = 100;
  accountManager.isOsAccountActived(localId).then((isActived: boolean) => {
J
jidong 已提交
3068
    console.log('isOsAccountActived successfully, isActived: ' + isActived);
3069
  }).catch((err: BusinessError) => {
C
chennian 已提交
3070
    console.log('isOsAccountActived failed, error: ' + JSON.stringify(err));
Z
zhangalong 已提交
3071 3072 3073
  });
  ```

J
jidong 已提交
3074
### isOsAccountConstraintEnable<sup>(deprecated)</sup>
Z
zhangalong 已提交
3075

J
jidong 已提交
3076
isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback&lt;boolean&gt;): void
Z
zhangalong 已提交
3077

J
jidong 已提交
3078
判断指定系统帐号是否具有指定约束。使用callback异步回调。
Z
zhangalong 已提交
3079

A
Annie_wang 已提交
3080
> **说明:** 
J
jidong 已提交
3081
>
C
cclicn 已提交
3082
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountConstraintEnabled](#checkosaccountconstraintenabled9)。
Z
zhangalong 已提交
3083

J
jidong 已提交
3084
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
3085

Z
zengyawen 已提交
3086 3087 3088 3089
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3090 3091 3092 3093 3094
| 参数名     | 类型                         | 必填 | 说明                                                                |
| ---------- | ---------------------------- | ---- | ----------------------------------------------------------------- |
| localId    | number                       | 是   | 系统帐号ID。                                 |
| constraint | string                       | 是   | 指定的[约束](#系统帐号约束列表)名称。                                |
| callback   | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
Z
zengyawen 已提交
3095

J
jidong 已提交
3096
**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
Z
zhangalong 已提交
3097

3098
  ```ts
3099
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3100
  let accountManager = account_osAccount.getAccountManager();
3101 3102 3103
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
  accountManager.isOsAccountConstraintEnable(localId, constraint, (err: BusinessError, isEnabled: boolean) => {
J
jidong 已提交
3104
    if (err) {
C
chennian 已提交
3105
      console.log('isOsAccountConstraintEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3106
    } else {
C
chennian 已提交
3107
      console.log('isOsAccountConstraintEnable successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
3108 3109
    }
  });
Z
zhangalong 已提交
3110 3111
  ```

J
jidong 已提交
3112
### isOsAccountConstraintEnable<sup>(deprecated)</sup>
Z
zhangalong 已提交
3113

J
jidong 已提交
3114
isOsAccountConstraintEnable(localId: number, constraint: string): Promise&lt;boolean&gt;
Z
zhangalong 已提交
3115

J
jidong 已提交
3116
判断指定系统帐号是否具有指定约束。使用Promise异步回调。
Z
zhangalong 已提交
3117

A
Annie_wang 已提交
3118
> **说明:** 
J
jidong 已提交
3119
>
C
cclicn 已提交
3120
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountConstraintEnabled](#checkosaccountconstraintenabled9-1)。
Z
zengyawen 已提交
3121

J
jidong 已提交
3122
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
3123

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

Z
zengyawen 已提交
3126
**参数:**
Z
zhangalong 已提交
3127

J
jidong 已提交
3128 3129 3130 3131
| 参数名     | 类型   | 必填 | 说明                                 |
| ---------- | ------ | ---- | ---------------------------------- |
| localId    | number | 是   | 系统帐号ID。  |
| constraint | string | 是   | 指定的[约束](#系统帐号约束列表)名称。 |
Z
zhangalong 已提交
3132

Z
zengyawen 已提交
3133 3134
**返回值:**

J
jidong 已提交
3135 3136 3137
| 类型                   | 说明                                                                   |
| ---------------------- | --------------------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
Z
zengyawen 已提交
3138

J
jidong 已提交
3139
**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
3140

3141
  ```ts
3142
  import { BusinessError } from '@ohos.base';
3143
  let accountManager = account_osAccount.getAccountManager();
3144 3145 3146
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
  accountManager.isOsAccountConstraintEnable(localId, constraint).then((isEnabled: boolean) => {
C
chennian 已提交
3147
    console.log('isOsAccountConstraintEnable successfully, isEnabled: ' + isEnabled);
3148
  }).catch((err: BusinessError) => {
C
chennian 已提交
3149
    console.log('isOsAccountConstraintEnable err: ' + JSON.stringify(err));
J
jidong 已提交
3150
  });
3151 3152
  ```

J
jidong 已提交
3153
### isTestOsAccount<sup>(deprecated)</sup>
3154

J
jidong 已提交
3155
isTestOsAccount(callback: AsyncCallback&lt;boolean&gt;): void
3156

J
jidong 已提交
3157 3158
检查当前系统帐号是否为测试帐号。使用callback异步回调。

A
Annie_wang 已提交
3159
> **说明:** 
J
jidong 已提交
3160
>
A
Annie_wang 已提交
3161
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9)。
3162 3163 3164 3165 3166

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

**参数:**

J
jidong 已提交
3167 3168 3169
| 参数名   | 类型                         | 必填 | 说明                                                                   |
| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
3170 3171 3172

**示例:**

3173
  ```ts
3174
  import { BusinessError } from '@ohos.base';
3175
  let accountManager = account_osAccount.getAccountManager();
3176
  accountManager.isTestOsAccount((err: BusinessError, isTestable: boolean) => {
J
jidong 已提交
3177
    if (err) {
C
chennian 已提交
3178
      console.log('isTestOsAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3179
    } else {
C
chennian 已提交
3180
      console.log('isTestOsAccount successfully, isTestable: ' + isTestable);
J
jidong 已提交
3181 3182
    }
  });
3183 3184
  ```

J
jidong 已提交
3185
### isTestOsAccount<sup>(deprecated)</sup>
3186

J
jidong 已提交
3187 3188 3189
isTestOsAccount(): Promise&lt;boolean&gt;

检查当前系统帐号是否为测试帐号。使用Promise异步回调。
3190

A
Annie_wang 已提交
3191
> **说明:** 
J
jidong 已提交
3192
>
A
Annie_wang 已提交
3193
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9-1)。
3194 3195 3196 3197 3198

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

**返回值:**

J
jidong 已提交
3199 3200 3201
| 类型                   | 说明                                                                      |
| ---------------------- | ------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
3202 3203 3204

**示例:**

3205
  ```ts
3206
  import { BusinessError } from '@ohos.base';
3207
  let accountManager = account_osAccount.getAccountManager();
3208
    accountManager.isTestOsAccount().then((isTestable: boolean) => {
C
chennian 已提交
3209
      console.log('isTestOsAccount successfully, isTestable: ' + isTestable);
3210
    }).catch((err: BusinessError) => {
C
chennian 已提交
3211
      console.log('isTestOsAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3212
  });
3213 3214
  ```

J
jidong 已提交
3215
### isOsAccountVerified<sup>(deprecated)</sup>
3216

J
jidong 已提交
3217
isOsAccountVerified(callback: AsyncCallback&lt;boolean&gt;): void
3218

J
jidong 已提交
3219
检查当前系统帐号是否已验证。使用callback异步回调。
3220

A
Annie_wang 已提交
3221
> **说明:** 
3222
>
A
Annie_wang 已提交
3223
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9)。
3224

J
jidong 已提交
3225 3226
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

3227 3228 3229 3230
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3231 3232 3233
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3234 3235 3236

**示例:**

3237
  ```ts
3238
  import { BusinessError } from '@ohos.base';
3239
  let accountManager = account_osAccount.getAccountManager();
3240
  accountManager.isOsAccountVerified((err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
3241
    if (err) {
C
chennian 已提交
3242
      console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3243
    } else {
C
chennian 已提交
3244
      console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
3245
    }
3246 3247 3248
  });
  ```

J
jidong 已提交
3249
### isOsAccountVerified<sup>(deprecated)</sup>
3250

J
jidong 已提交
3251
isOsAccountVerified(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
3252

J
jidong 已提交
3253
检查指定系统帐号是否已验证。使用callback异步回调。
3254

A
Annie_wang 已提交
3255
> **说明:** 
3256
>
A
Annie_wang 已提交
3257
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-1)。
3258

J
jidong 已提交
3259 3260
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

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

J
jidong 已提交
3263
**参数:**
3264

J
jidong 已提交
3265 3266
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
3267
| localId  | number                       | 是   | 系统帐号ID。                             |
J
jidong 已提交
3268
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3269 3270

**示例:**
Z
zhangalong 已提交
3271

3272
  ```ts
3273
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3274
  let accountManager = account_osAccount.getAccountManager();
3275 3276
  let localId: number = 100;
  accountManager.isOsAccountVerified(localId, (err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
3277
    if (err) {
C
chennian 已提交
3278
      console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3279
    } else {
C
chennian 已提交
3280
      console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
3281
    }
Z
zhangalong 已提交
3282 3283 3284
  });
  ```

J
jidong 已提交
3285
### isOsAccountVerified<sup>(deprecated)</sup>
Z
zhangalong 已提交
3286

J
jidong 已提交
3287
isOsAccountVerified(localId?: number): Promise&lt;boolean&gt;
Z
zhangalong 已提交
3288

J
jidong 已提交
3289
检查指定系统帐号是否已验证。使用Promise异步回调。
3290

A
Annie_wang 已提交
3291
> **说明:** 
J
jidong 已提交
3292
>
A
Annie_wang 已提交
3293
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-2)。
J
jidong 已提交
3294 3295

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
Z
zhangalong 已提交
3296

Z
zengyawen 已提交
3297 3298 3299
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
3301 3302 3303
| 参数名  | 类型   | 必填 | 说明                                                              |
| ------- | ------ | ---- | ---------------------------------------------------------------- |
| localId | number | 否   | 系统帐号ID。不填则检查当前系统帐号是否已验证。 |
Z
zhangalong 已提交
3304

Z
zengyawen 已提交
3305
**返回值:**
Z
zhangalong 已提交
3306

J
jidong 已提交
3307 3308 3309
| 类型                   | 说明                                                               |
| ---------------------- | ----------------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
Z
zengyawen 已提交
3310

3311
**示例:**
Z
zhangalong 已提交
3312

3313
  ```ts
3314
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3315
  let accountManager = account_osAccount.getAccountManager();
3316
  accountManager.isOsAccountVerified(localId).then((isVerified: boolean) => {
C
chennian 已提交
3317
    console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
3318
  }).catch((err: BusinessError) => {
C
chennian 已提交
3319
    console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3320
  });
Z
zhangalong 已提交
3321 3322
  ```

J
jidong 已提交
3323
### getCreatedOsAccountsCount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3324

J
jidong 已提交
3325
getCreatedOsAccountsCount(callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3326

J
jidong 已提交
3327
获取已创建的系统帐号数量。使用callback异步回调。
Z
zhangalong 已提交
3328

A
Annie_wang 已提交
3329
> **说明:** 
3330
>
A
Annie_wang 已提交
3331
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountCount](#getosaccountcount9)。
3332

J
jidong 已提交
3333
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3334 3335

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

Z
zengyawen 已提交
3337
**参数:**
Z
zhangalong 已提交
3338

J
jidong 已提交
3339 3340 3341
| 参数名   | 类型                        | 必填 | 说明                                                                         |
| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为已创建的系统帐号的数量;否则为错误对象。 |
Z
zengyawen 已提交
3342

3343
**示例:**
Z
zhangalong 已提交
3344

3345
  ```ts
3346
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3347
  let accountManager = account_osAccount.getAccountManager();
3348
  accountManager.getCreatedOsAccountsCount((err: BusinessError, count: number)=>{
J
jidong 已提交
3349
    if (err) {
C
chennian 已提交
3350
      console.log('getCreatedOsAccountsCount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3351
    } else {
C
chennian 已提交
3352
      console.log('getCreatedOsAccountsCount successfully, count: ' + count);
J
jidong 已提交
3353
    }
Z
zhangalong 已提交
3354 3355 3356
  });
  ```

J
jidong 已提交
3357
### getCreatedOsAccountsCount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3358

J
jidong 已提交
3359
getCreatedOsAccountsCount(): Promise&lt;number&gt;
Z
zhangalong 已提交
3360

J
jidong 已提交
3361
获取已创建的系统帐号数量,使用Promise异步回调。
Z
zhangalong 已提交
3362

A
Annie_wang 已提交
3363
> **说明:** 
3364
>
A
Annie_wang 已提交
3365
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountCount](#getosaccountcount9-1)。
3366

J
jidong 已提交
3367
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3368 3369

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

Z
zengyawen 已提交
3371
**返回值:**
Z
zhangalong 已提交
3372

J
jidong 已提交
3373 3374 3375
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回已创建的系统帐号的数量。 |
Z
zengyawen 已提交
3376

3377
**示例:**
Z
zhangalong 已提交
3378

3379
  ```ts
3380
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3381
  let accountManager = account_osAccount.getAccountManager();
3382
  accountManager.getCreatedOsAccountsCount().then((count: number) => {
C
chennian 已提交
3383
    console.log('getCreatedOsAccountsCount successfully, count: ' + count);
3384
  }).catch((err: BusinessError) => {
C
chennian 已提交
3385
    console.log('getCreatedOsAccountsCount failed, error: ' + JSON.stringify(err));
Z
zhangalong 已提交
3386 3387 3388
  });
  ```

J
jidong 已提交
3389
### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3390

J
jidong 已提交
3391
getOsAccountLocalIdFromProcess(callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3392

J
jidong 已提交
3393
获取当前进程所属的系统帐号ID,使用callback异步回调。
Z
zengyawen 已提交
3394

A
Annie_wang 已提交
3395
> **说明:** 
J
jidong 已提交
3396
>
C
cclicn 已提交
3397
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9)。
Z
zengyawen 已提交
3398 3399 3400 3401

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

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

J
jidong 已提交
3403 3404 3405
| 参数名   | 类型                        | 必填 | 说明                                                                           |
| -------- | --------------------------- | ---- | ---------------------------------------------------------------------------- |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为当前进程所属的系统帐号ID;否则为错误对象。 |
Z
zhangalong 已提交
3406

J
jidong 已提交
3407
**示例:**
Z
zhangalong 已提交
3408

3409
  ```ts
3410
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3411
  let accountManager = account_osAccount.getAccountManager();
3412
  accountManager.getOsAccountLocalIdFromProcess((err: BusinessError, localId: number) => {
J
jidong 已提交
3413
    if (err) {
C
chennian 已提交
3414
      console.log('getOsAccountLocalIdFromProcess failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3415
    } else {
C
chennian 已提交
3416
      console.log('getOsAccountLocalIdFromProcess failed, error: ' + localId);
J
jidong 已提交
3417 3418
    }
  });
Z
zhangalong 已提交
3419 3420
  ```

J
jidong 已提交
3421
### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3422

J
jidong 已提交
3423
getOsAccountLocalIdFromProcess(): Promise&lt;number&gt;
Z
zhangalong 已提交
3424

J
jidong 已提交
3425
获取当前进程所属的系统帐号ID,使用Promise异步回调。
Z
zhangalong 已提交
3426

A
Annie_wang 已提交
3427
> **说明:**
J
jidong 已提交
3428
>
C
cclicn 已提交
3429
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9-1)。
Z
zhangalong 已提交
3430

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

Z
zengyawen 已提交
3433 3434
**返回值:**

J
jidong 已提交
3435 3436 3437
| 类型                  | 说明                                      |
| :-------------------- | :--------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回当前进程所属的系统帐号ID。 |
Z
zengyawen 已提交
3438

J
jidong 已提交
3439
**示例:**
Z
zhangalong 已提交
3440

3441
  ```ts
3442
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3443
  let accountManager = account_osAccount.getAccountManager();
3444
  accountManager.getOsAccountLocalIdFromProcess().then((localId: number) => {
J
jidong 已提交
3445
    console.log('getOsAccountLocalIdFromProcess successfully, localId: ' + localId);
3446
  }).catch((err: BusinessError) => {
C
chennian 已提交
3447
    console.log('getOsAccountLocalIdFromProcess failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3448
  });
Z
zhangalong 已提交
3449 3450
  ```

J
jidong 已提交
3451
### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
Z
zhangalong 已提交
3452

J
jidong 已提交
3453
getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3454

J
jidong 已提交
3455
根据uid查询对应的系统帐号ID。使用callback异步回调。
Z
zengyawen 已提交
3456

A
Annie_wang 已提交
3457
> **说明:** 
J
jidong 已提交
3458
>
C
cclicn 已提交
3459
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9)。
Z
zhangalong 已提交
3460

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

Z
zengyawen 已提交
3463 3464
**参数:**

J
jidong 已提交
3465 3466 3467 3468
| 参数名   | 类型                        | 必填 | 说明                                                                    |
| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
| uid      | number                      | 是   | 进程uid。                                                              |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为对应的系统帐号ID;否则为错误对象。 |
Z
zengyawen 已提交
3469

J
jidong 已提交
3470
**示例:** 查询值为12345678的uid所属的系统帐号ID
Z
zhangalong 已提交
3471

3472
  ```ts
3473
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3474
  let accountManager = account_osAccount.getAccountManager();
3475 3476
  let uid: number = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid, (err: BusinessError, localId: number) => {
J
jidong 已提交
3477
    if (err) {
C
chennian 已提交
3478
      console.log('getOsAccountLocalIdFromUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3479
    } else {
C
chennian 已提交
3480
      console.log('getOsAccountLocalIdFromUid successfully, localId: ' + localId);
J
jidong 已提交
3481 3482
    }
  });
Z
zhangalong 已提交
3483 3484
  ```

J
jidong 已提交
3485
### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
Z
zhangalong 已提交
3486

J
jidong 已提交
3487
getOsAccountLocalIdFromUid(uid: number): Promise&lt;number&gt;
Z
zhangalong 已提交
3488

J
jidong 已提交
3489
根据uid查询对应的系统帐号ID,使用Promise异步回调。
Z
zengyawen 已提交
3490

A
Annie_wang 已提交
3491
> **说明:** 
J
jidong 已提交
3492
>
C
cclicn 已提交
3493
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9-1)。
Z
zhangalong 已提交
3494

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

Z
zengyawen 已提交
3497
**参数:**
Z
zhangalong 已提交
3498

J
jidong 已提交
3499 3500 3501
| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |
Z
zhangalong 已提交
3502

Z
zengyawen 已提交
3503 3504
**返回值:**

J
jidong 已提交
3505 3506 3507
| 类型                  | 说明                                  |
| :-------------------- | :----------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回uid对应的系统帐号ID。 |
Z
zengyawen 已提交
3508

J
jidong 已提交
3509
**示例:** 查询值为12345678的uid所属的系统帐号ID
Z
zhangalong 已提交
3510

3511
  ```ts
3512
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3513
  let accountManager = account_osAccount.getAccountManager();
3514 3515
  let uid: number = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid).then((localId: number) => {
C
chennian 已提交
3516
    console.log('getOsAccountLocalIdFromUid successfully, localId: ' + localId);
3517
  }).catch((err: BusinessError) => {
C
chennian 已提交
3518
    console.log('getOsAccountLocalIdFromUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3519
  });
3520 3521
  ```

J
jidong 已提交
3522
### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3523

J
jidong 已提交
3524 3525 3526 3527
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void

根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用callback异步回调。

A
Annie_wang 已提交
3528
> **说明:** 
J
jidong 已提交
3529
>
C
cclicn 已提交
3530
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9)。
3531

J
jidong 已提交
3532
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3533 3534 3535 3536 3537

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

**参数:**

J
jidong 已提交
3538 3539 3540 3541
| 参数名     | 类型                                    | 必填 | 说明                                                                         |
| ---------- | --------------------------------------- | ---- | --------------------------------------------------------------------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。                                                                |
| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调函数,如果获取成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。 |
3542

J
jidong 已提交
3543
**示例:**
3544

3545
  ```ts
3546
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
3547
  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3548
  let accountManager = account_osAccount.getAccountManager();
3549
  accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err: BusinessError, localId: number) => {
J
jidong 已提交
3550
    if (err) {
C
chennian 已提交
3551
      console.log('getOsAccountLocalIdFromDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3552
    } else {
C
chennian 已提交
3553
      console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
J
jidong 已提交
3554 3555
    }
  });
3556 3557
  ```

J
jidong 已提交
3558
### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3559

J
jidong 已提交
3560 3561 3562 3563
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;

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

A
Annie_wang 已提交
3564
> **说明:** 
J
jidong 已提交
3565
>
C
cclicn 已提交
3566
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9-1)。
3567

J
jidong 已提交
3568
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3569 3570 3571 3572 3573

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

**参数:**

J
jidong 已提交
3574 3575 3576
| 参数名     | 类型                                    | 必填 | 说明         |
| ---------- | --------------------------------------- | ---- | ------------ |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。 |
3577 3578 3579

**返回值:**

J
jidong 已提交
3580 3581 3582
| 类型                  | 说明                                    |
| :-------------------- | :------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回域帐号关联的系统帐号ID。 |
3583

J
jidong 已提交
3584
**示例:**
3585

3586
  ```ts
3587
  import { BusinessError } from '@ohos.base';
3588
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
3589
  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3590
  accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((localId: number) => {
J
jidong 已提交
3591
    console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
3592
  }).catch((err: BusinessError) => {
C
chennian 已提交
3593
    console.log('getOsAccountLocalIdFromDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3594
  });
Z
zhangalong 已提交
3595 3596
  ```

J
jidong 已提交
3597
### getOsAccountAllConstraints<sup>(deprecated)</sup>
Z
zhangalong 已提交
3598

J
jidong 已提交
3599
getOsAccountAllConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
Z
zhangalong 已提交
3600

J
jidong 已提交
3601
获取指定系统帐号的全部约束。使用callback异步回调。
Z
zhangalong 已提交
3602

A
Annie_wang 已提交
3603
> **说明:** 
3604
>
A
Annie_wang 已提交
3605
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9)。
J
jidong 已提交
3606 3607

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

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

Z
zengyawen 已提交
3611
**参数:**
Z
zhangalong 已提交
3612

J
jidong 已提交
3613 3614 3615 3616
| 参数名   | 类型                                     | 必填 | 说明                                                                                             |
| -------- | ---------------------------------------- | ---- | ---------------------------------------------------------------------------------------------- |
| localId  | number                                   | 是   | 系统帐号ID。                                                                                    |
| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是   | 回调函数。如果获取成功,err为null,data为指定系统帐号的全部[约束](#系统帐号约束列表);否则为错误对象。 |
Z
zengyawen 已提交
3617

J
jidong 已提交
3618
**示例:** 获取ID为100的系统帐号的全部约束
Z
zhangalong 已提交
3619

3620
  ```ts
3621
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3622
  let accountManager = account_osAccount.getAccountManager();
3623 3624
  let localId: number = 100;
  accountManager.getOsAccountAllConstraints(localId, (err: BusinessError, constraints: string[])=>{
J
jidong 已提交
3625 3626
    console.log('getOsAccountAllConstraints err:' + JSON.stringify(err));
    console.log('getOsAccountAllConstraints:' + JSON.stringify(constraints));
Z
zhangalong 已提交
3627 3628 3629
  });
  ```

J
jidong 已提交
3630
### getOsAccountAllConstraints<sup>(deprecated)</sup>
Z
zhangalong 已提交
3631

J
jidong 已提交
3632
getOsAccountAllConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;
Z
zhangalong 已提交
3633

A
Annie_wang 已提交
3634
> **说明:** 
3635
>
A
Annie_wang 已提交
3636
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9-1)。
J
jidong 已提交
3637 3638 3639 3640

获取指定系统帐号的全部约束。使用Promise异步回调。

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

Z
zengyawen 已提交
3642 3643 3644
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
3646 3647 3648
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
3649

Z
zengyawen 已提交
3650
**返回值:**
Z
zhangalong 已提交
3651

J
jidong 已提交
3652 3653 3654
| 类型                               | 说明                                                         |
| :--------------------------------- | :----------------------------------------------------------- |
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回指定系统帐号的全部[约束](#系统帐号约束列表)。 |
Z
zhangalong 已提交
3655

J
jidong 已提交
3656
**示例:** 获取ID为100的系统帐号的全部约束
Z
zhangalong 已提交
3657

3658
  ```ts
3659
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3660
  let accountManager = account_osAccount.getAccountManager();
3661 3662
  let localId: number = 100;
  accountManager.getOsAccountAllConstraints(localId).then((constraints: string[]) => {
J
jidong 已提交
3663
    console.log('getOsAccountAllConstraints, constraints: ' + constraints);
3664
  }).catch((err: BusinessError) => {
C
chennian 已提交
3665
    console.log('getOsAccountAllConstraints err: ' + JSON.stringify(err));
Z
zhangalong 已提交
3666 3667 3668
  });
  ```

J
jidong 已提交
3669
### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3670

J
jidong 已提交
3671 3672 3673
queryActivatedOsAccountIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void

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

A
Annie_wang 已提交
3675
> **说明:** 
J
jidong 已提交
3676
>
C
cclicn 已提交
3677
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9)。
3678 3679 3680 3681 3682

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

**参数:**

J
jidong 已提交
3683 3684 3685
| 参数名   | 类型                                     | 必填 | 说明                                                   |
| -------- | ---------------------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前处于激活状态的系统帐号的ID列表;否则为错误对象。 |
3686

J
jidong 已提交
3687
**示例:**
3688

3689
  ```ts
3690
  import { BusinessError } from '@ohos.base';
3691
  let accountManager = account_osAccount.getAccountManager();
3692
  accountManager.queryActivatedOsAccountIds((err: BusinessError, idArray: number[])=>{
J
jidong 已提交
3693 3694 3695 3696 3697 3698
    console.log('queryActivatedOsAccountIds err:' + JSON.stringify(err));
    console.log('queryActivatedOsAccountIds idArray length:' + idArray.length);
    for(let i=0;i<idArray.length;i++) {
      console.info('activated os account id: ' + idArray[i]);
    }
  });
3699 3700
  ```

J
jidong 已提交
3701
### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3702

J
jidong 已提交
3703
queryActivatedOsAccountIds(): Promise&lt;Array&lt;number&gt;&gt;
3704

A
Annie_wang 已提交
3705
> **说明:** 
J
jidong 已提交
3706
>
C
cclicn 已提交
3707
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9-1)。
3708

J
jidong 已提交
3709
查询当前处于激活状态的系统帐号的ID列表。使用Promise异步回调。
3710

J
jidong 已提交
3711
**系统能力:** SystemCapability.Account.OsAccount
3712 3713 3714

**返回值:**

J
jidong 已提交
3715 3716 3717
| 类型                               | 说明                                               |
| ---------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;number&gt;&gt; | Promise对象,返回当前处于激活状态的系统帐号的ID列表。 |
3718

J
jidong 已提交
3719
**示例:**
3720

3721
  ```ts
3722
  import { BusinessError } from '@ohos.base';
3723
  let accountManager = account_osAccount.getAccountManager();
3724
  accountManager.queryActivatedOsAccountIds().then((idArray: number[]) => {
J
jidong 已提交
3725
    console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
3726
  }).catch((err: BusinessError) => {
C
chennian 已提交
3727
    console.log('queryActivatedOsAccountIds err: ' + JSON.stringify(err));
J
jidong 已提交
3728
  });
3729 3730
  ```

J
jidong 已提交
3731
### queryCurrentOsAccount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3732

J
jidong 已提交
3733
queryCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void
Z
zhangalong 已提交
3734

J
jidong 已提交
3735
查询当前进程所属的系统帐号的信息。使用callback异步回调。
Z
zhangalong 已提交
3736

A
Annie_wang 已提交
3737
> **说明:** 
3738
>
A
Annie_wang 已提交
3739
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9)。
J
jidong 已提交
3740 3741

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

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

Z
zengyawen 已提交
3745
**参数:**
Z
zhangalong 已提交
3746

J
jidong 已提交
3747 3748 3749
| 参数名   | 类型                                                 | 必填 | 说明                                           |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号信息;否则为错误对象。 |
Z
zengyawen 已提交
3750

J
jidong 已提交
3751
**示例:**
Z
zhangalong 已提交
3752

3753
  ```ts
3754
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3755
  let accountManager = account_osAccount.getAccountManager();
3756
  accountManager.queryCurrentOsAccount((err: BusinessError, curAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
3757 3758
    console.log('queryCurrentOsAccount err:' + JSON.stringify(err));
    console.log('queryCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
Z
zhangalong 已提交
3759 3760 3761
  });
  ```

J
jidong 已提交
3762
### queryCurrentOsAccount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3763

J
jidong 已提交
3764
queryCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
Z
zhangalong 已提交
3765

J
jidong 已提交
3766
查询当前进程所属的系统帐号的信息。使用Promise异步回调。
Z
zhangalong 已提交
3767

A
Annie_wang 已提交
3768
> **说明:** 
3769
>
A
Annie_wang 已提交
3770
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9-1)。
Z
zengyawen 已提交
3771

J
jidong 已提交
3772
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zhangalong 已提交
3773

J
jidong 已提交
3774
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
3775

Z
zengyawen 已提交
3776
**返回值:**
Z
zhangalong 已提交
3777

J
jidong 已提交
3778 3779 3780
| 类型                                           | 说明                                       |
| ---------------------------------------------- | ------------------------------------------ |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回当前进程所属的系统帐号信息。 |
Z
zhangalong 已提交
3781

J
jidong 已提交
3782
**示例:**
Z
zhangalong 已提交
3783

3784
  ```ts
3785
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3786
  let accountManager = account_osAccount.getAccountManager();
3787
  accountManager.queryCurrentOsAccount().then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
3788
    console.log('queryCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
3789
  }).catch((err: BusinessError) => {
C
chennian 已提交
3790
    console.log('queryCurrentOsAccount err: ' + JSON.stringify(err));
Z
zhangalong 已提交
3791 3792 3793
  });
  ```

J
jidong 已提交
3794
### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3795

J
jidong 已提交
3796
getOsAccountTypeFromProcess(callback: AsyncCallback&lt;OsAccountType&gt;): void
Z
zhangalong 已提交
3797

J
jidong 已提交
3798
查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
Z
zengyawen 已提交
3799

A
Annie_wang 已提交
3800
> **说明:** 
J
jidong 已提交
3801
>
A
Annie_wang 已提交
3802
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9)。
Z
zhangalong 已提交
3803

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

Z
zengyawen 已提交
3806 3807
**参数:**

J
jidong 已提交
3808 3809 3810
| 参数名   | 类型                                                 | 必填 | 说明                                                 |
| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------- |
| callback | AsyncCallback&lt;[OsAccountType](#osaccounttype)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号的帐号类型;否则为错误对象。 |
Z
zengyawen 已提交
3811

3812
**示例:**
Z
zhangalong 已提交
3813

3814
  ```ts
3815
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3816
  let accountManager = account_osAccount.getAccountManager();
3817
  accountManager.getOsAccountTypeFromProcess((err: BusinessError, accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
3818 3819 3820
    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
    console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
  });
Z
zhangalong 已提交
3821 3822
  ```

J
jidong 已提交
3823
### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3824

J
jidong 已提交
3825
getOsAccountTypeFromProcess(): Promise&lt;OsAccountType&gt;
Z
zhangalong 已提交
3826

J
jidong 已提交
3827
查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
Z
zengyawen 已提交
3828

A
Annie_wang 已提交
3829
> **说明:**
J
jidong 已提交
3830
>
A
Annie_wang 已提交
3831
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9-1)。
Z
zengyawen 已提交
3832 3833

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

J
jidong 已提交
3835
**返回值:**
Z
zhangalong 已提交
3836

J
jidong 已提交
3837 3838 3839
| 类型                                           | 说明                                            |
| ---------------------------------------------- | ----------------------------------------------- |
| Promise&lt;[OsAccountType](#osaccounttype)&gt; | Promise对象,返回当前进程所属的系统帐号的帐号类型。 |
Z
zengyawen 已提交
3840

3841
**示例:**
Z
zhangalong 已提交
3842

3843
  ```ts
3844
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3845
  let accountManager = account_osAccount.getAccountManager();
3846
  accountManager.getOsAccountTypeFromProcess().then((accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
3847
    console.log('getOsAccountTypeFromProcess, accountType: ' + accountType);
3848
  }).catch((err: BusinessError) => {
C
chennian 已提交
3849
    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
J
jidong 已提交
3850
  });
Z
zhangalong 已提交
3851 3852
  ```

J
jidong 已提交
3853
### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3854

J
jidong 已提交
3855
getDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void
3856

J
jidong 已提交
3857 3858
获取分布式虚拟设备ID。使用callback异步回调。

A
Annie_wang 已提交
3859
> **说明:** 
J
jidong 已提交
3860
>
A
Annie_wang 已提交
3861
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9)。
3862

J
jidong 已提交
3863
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS
3864 3865 3866 3867 3868

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

**参数:**

J
jidong 已提交
3869 3870 3871
| 参数名   | 类型                        | 必填 | 说明                                                                    |
| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。如果获取成功,err为null,data为分布式虚拟设备ID;否则为错误对象。 |
3872

3873
**示例:**
3874

3875
  ```ts
3876
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3877
  let accountManager = account_osAccount.getAccountManager();
3878
  accountManager.getDistributedVirtualDeviceId((err: BusinessError, virtualID: string) => {
J
jidong 已提交
3879 3880 3881
    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
    console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID);
  });
3882 3883
  ```

J
jidong 已提交
3884
### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3885

J
jidong 已提交
3886
getDistributedVirtualDeviceId(): Promise&lt;string&gt;
3887

J
jidong 已提交
3888
获取分布式虚拟设备ID。使用Promise异步回调。
3889

A
Annie_wang 已提交
3890
> **说明:** 
J
jidong 已提交
3891
>
A
Annie_wang 已提交
3892
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9-1)。
3893

J
jidong 已提交
3894
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS
3895

J
jidong 已提交
3896
**系统能力:** SystemCapability.Account.OsAccount
3897 3898 3899

**返回值:**

J
jidong 已提交
3900 3901 3902
| 类型                  | 说明                              |
| --------------------- | --------------------------------- |
| Promise&lt;string&gt; | Promise对象,返回分布式虚拟设备ID。 |
3903

3904
**示例:**
3905

3906
  ```ts
3907
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3908
  let accountManager = account_osAccount.getAccountManager();
3909
  accountManager.getDistributedVirtualDeviceId().then((virtualID: string) => {
J
jidong 已提交
3910
    console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID);
3911
  }).catch((err: BusinessError) => {
C
chennian 已提交
3912
    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
J
jidong 已提交
3913
  });
3914 3915
  ```

J
jidong 已提交
3916
### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3917

J
jidong 已提交
3918
getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void
3919

J
jidong 已提交
3920
通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。
3921

A
Annie_wang 已提交
3922
> **说明:** 
J
jidong 已提交
3923
>
C
cclicn 已提交
3924
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9)。
3925

3926 3927 3928 3929
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3930 3931 3932 3933
| 参数名       | 类型                        | 必填 | 说明                                                                               |
| ------------ | --------------------------- | ---- | -------------------------------------------------------------------------------- |
| serialNumber | number                      | 是   | 帐号SN码。                                                                        |
| callback     | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。 |
3934

J
jidong 已提交
3935
**示例:** 查询与SN码12345关联的系统帐号的ID
3936

3937
  ```ts
3938
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3939
  let accountManager = account_osAccount.getAccountManager();
3940 3941
  let serialNumber: number = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err: BusinessError, localId: number)=>{
J
jidong 已提交
3942 3943 3944
    console.log('ger localId err:' + JSON.stringify(err));
    console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
  });
3945 3946
  ```

J
jidong 已提交
3947
### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3948

J
jidong 已提交
3949
getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise&lt;number&gt;
3950

J
jidong 已提交
3951
通过SN码查询与其关联的系统帐号的帐号ID。使用Promise异步回调。
3952

A
Annie_wang 已提交
3953
> **说明:** 
J
jidong 已提交
3954
>
C
cclicn 已提交
3955
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9-1)。
3956

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

J
jidong 已提交
3959 3960 3961 3962 3963 3964
**参数:**

| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |

3965 3966 3967
**返回值:**

| 类型                  | 说明                                                         |
J
jidong 已提交
3968 3969
| --------------------- | -------------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与SN码关联的系统帐号的帐号ID。 |
3970

J
jidong 已提交
3971
**示例:** 查询与SN码12345关联的系统帐号的ID
3972

3973
  ```ts
3974
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3975
  let accountManager = account_osAccount.getAccountManager();
3976 3977
  let serialNumber: number = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId: number) => {
J
jidong 已提交
3978
    console.log('getOsAccountLocalIdBySerialNumber localId: ' + localId);
3979
  }).catch((err: BusinessError) => {
C
chennian 已提交
3980
    console.log('getOsAccountLocalIdBySerialNumber err: ' + JSON.stringify(err));
J
jidong 已提交
3981
  });
3982 3983
  ```

J
jidong 已提交
3984
### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
3985

J
jidong 已提交
3986
getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void
3987

J
jidong 已提交
3988
通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。
3989

A
Annie_wang 已提交
3990
> **说明:** 
J
jidong 已提交
3991
>
C
cclicn 已提交
3992
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9)。
3993 3994 3995 3996 3997

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

**参数:**

J
jidong 已提交
3998 3999 4000 4001
| 参数名   | 类型                        | 必填 | 说明                                                                         |
| -------- | --------------------------- | ---- | --------------------------------------------------------------------------- |
| localId  | number                      | 是   | 系统帐号ID。                                                                 |
| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果获取成功,err为null,data为与该系统帐号关联的SN码;否则为错误对象。 |
4002

J
jidong 已提交
4003
**示例:** 获取ID为100的系统帐号关联的SN码
4004

4005
  ```ts
4006
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
4007
  let accountManager = account_osAccount.getAccountManager();
4008 4009
  let localId: number = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId, (err: BusinessError, serialNumber: number)=>{
J
jidong 已提交
4010 4011 4012
    console.log('ger serialNumber err:' + JSON.stringify(err));
    console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
  });
4013 4014
  ```

J
jidong 已提交
4015
### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
4016

J
jidong 已提交
4017
getSerialNumberByOsAccountLocalId(localId: number): Promise&lt;number&gt;
4018

J
jidong 已提交
4019
通过系统帐号ID获取与该系统帐号关联的SN码。使用Promise异步回调。
4020

A
Annie_wang 已提交
4021
> **说明:** 
J
jidong 已提交
4022
>
C
cclicn 已提交
4023
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9-1)。
4024 4025 4026 4027 4028

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

**参数:**

J
jidong 已提交
4029 4030 4031
| 参数名  | 类型   | 必填 | 说明          |
| ------- | ------ | ---- | ----------- |
| localId | number | 是   | 系统帐号ID。 |
4032 4033 4034

**返回值:**

J
jidong 已提交
4035 4036 4037
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与该系统帐号关联的SN码。 |
4038

J
jidong 已提交
4039
**示例:** 获取ID为100的系统帐号关联的SN码
4040

4041
  ```ts
4042
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
4043
  let accountManager = account_osAccount.getAccountManager();
4044 4045
  let localId: number = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber: number) => {
J
jidong 已提交
4046
    console.log('getSerialNumberByOsAccountLocalId serialNumber: ' + serialNumber);
4047
  }).catch((err: BusinessError) => {
C
chennian 已提交
4048
    console.log('getSerialNumberByOsAccountLocalId err: ' + JSON.stringify(err));
J
jidong 已提交
4049
  });
4050 4051
  ```

4052 4053 4054 4055
## UserAuth<sup>8+</sup>

用户认证类。

J
jidong 已提交
4056
**系统接口:** 此接口为系统接口。
4057

4058 4059 4060 4061 4062 4063
### constructor<sup>8+</sup>

constructor()

创建用户认证的实例。

J
jidong 已提交
4064
**系统接口:** 此接口为系统接口。
4065

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

4068
**示例:**  
4069
  ```ts
J
jidong 已提交
4070
  let userAuth = new account_osAccount.UserAuth();
4071 4072 4073 4074 4075 4076 4077 4078
  ```

### getVersion<sup>8+</sup>

getVersion(): number;

返回版本信息。

J
jidong 已提交
4079
**系统接口:** 此接口为系统接口。
4080 4081 4082 4083 4084 4085 4086 4087 4088

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

**返回值:**

| 类型   | 说明         |
| :----- | :----------- |
| number | 返回版本信息。|

4089
**示例:**  
4090
  ```ts
J
jidong 已提交
4091
  let userAuth = new account_osAccount.UserAuth();
4092
  let version: number = userAuth.getVersion();
F
fanchenxuan 已提交
4093
  console.log('getVersion version = ' + version);
4094 4095 4096 4097 4098 4099
  ```

### getAvailableStatus<sup>8+</sup>

getAvailableStatus(authType: AuthType, authTrustLevel: AuthTrustLevel): number;

J
jidong 已提交
4100
获取指定认证类型和认证可信等级的认证能力的可用状态。
4101

J
jidong 已提交
4102
**系统接口:** 此接口为系统接口。
4103 4104 4105 4106 4107 4108 4109

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

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

**参数:**

J
jidong 已提交
4110 4111 4112 4113
| 参数名           | 类型                               | 必填 | 说明                       |
| --------------- | -----------------------------------| ---- | ------------------------- |
| authType        | [AuthType](#authtype8)             | 是   | 认证类型。     |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8) | 是   | 认证的可信等级。 |
4114 4115 4116

**返回值:**

J
jidong 已提交
4117 4118 4119 4120 4121 4122 4123 4124 4125 4126
| 类型   | 说明                           |
| ------ | ----------------------------- |
| number | 返回认证能力的可用状态。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType or authTrustLevel. |
4127

4128
**示例:**  
4129
  ```ts
J
jidong 已提交
4130 4131 4132
  let userAuth = new account_osAccount.UserAuth();
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4133 4134 4135 4136 4137 4138
  try {
    let status = userAuth.getAvailableStatus(authType, authTrustLevel);
    console.log('getAvailableStatus status = ' + status);
  } catch (e) {
    console.log('getAvailableStatus exception = ' + JSON.stringify(e));
  }
4139 4140 4141 4142 4143 4144
  ```

### getProperty<sup>8+</sup>

getProperty(request: GetPropertyRequest, callback: AsyncCallback&lt;ExecutorProperty&gt;): void;

J
jidong 已提交
4145
基于指定的请求信息获取属性。使用callback异步回调。
4146

J
jidong 已提交
4147
**系统接口:** 此接口为系统接口。
4148 4149 4150 4151 4152 4153 4154 4155

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

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

**参数:**

| 参数名    | 类型                                                                    | 必填 | 说明                                |
J
jidong 已提交
4156
| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------ |
4157
| request  | [GetPropertyRequest](#getpropertyrequest8)                  | 是   | 请求信息,包括认证类型和属性类型列表。 |
J
jidong 已提交
4158 4159 4160 4161 4162 4163 4164 4165
| callback | AsyncCallback&lt;[ExecutorProperty](#executorproperty8)&gt; | 是   | 回调函数。如果获取成功,err为null,data为执行器属性信息;否则为错误对象。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid request. |
4166

4167
**示例:**
4168
  ```ts
4169
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4170 4171
  let userAuth = new account_osAccount.UserAuth();
  let keys = [
4172
    account_osAccount.GetPropertyType.AUTH_SUB_TYPE,
J
jidong 已提交
4173 4174 4175
    account_osAccount.GetPropertyType.REMAIN_TIMES,
    account_osAccount.GetPropertyType.FREEZING_TIME
  ];
C
cclicn 已提交
4176
  let request: account_osAccount.GetPropertyRequest = {
J
jidong 已提交
4177 4178 4179
    authType: account_osAccount.AuthType.PIN,
    keys: keys
  };
4180
  try {
4181
    userAuth.getProperty(request, (err: BusinessError, result: account_osAccount.ExecutorProperty) => {
4182 4183 4184 4185 4186 4187
      console.log('getProperty err = ' + JSON.stringify(err));
      console.log('getProperty result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getProperty exception = ' + JSON.stringify(e));
  }
4188 4189 4190 4191
  ```

### getProperty<sup>8+</sup>

4192
getProperty(request: GetPropertyRequest): Promise&lt;ExecutorProperty&gt;;
4193

J
jidong 已提交
4194
基于指定的请求信息获取属性。使用Promise异步回调。
4195

J
jidong 已提交
4196
**系统接口:** 此接口为系统接口。
4197 4198 4199 4200 4201 4202 4203 4204 4205

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

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

**参数:**

| 参数名    | 类型                                                   | 必填 | 说明                                |
| -------- | ------------------------------------------------------ | ---- | ---------------------------------- |
4206
| request  | [GetPropertyRequest](#getpropertyrequest8) | 是   | 请求信息,包括认证类型和属性类型列表。 |
4207 4208 4209 4210 4211

**返回值:**

| 类型                                                              | 说明                                                 |
| :---------------------------------------------------------------- | :-------------------------------------------------- |
J
jidong 已提交
4212
| Promise&lt;[ExecutorProperty](#executorproperty8)&gt; | Promise对象,返回执行者属性信息。 |
4213

J
jidong 已提交
4214 4215 4216 4217 4218 4219 4220
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid request. |

4221
**示例:**
4222
  ```ts
4223
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4224 4225 4226 4227 4228 4229
  let userAuth = new account_osAccount.UserAuth();
  let keys = [
    account_osAccount.GetPropertyType.AUTH_SUB_TYPE, 
    account_osAccount.GetPropertyType.REMAIN_TIMES,
    account_osAccount.GetPropertyType.FREEZING_TIME
  ];
C
cclicn 已提交
4230
  let request: account_osAccount.GetPropertyRequest = {
J
jidong 已提交
4231 4232 4233
    authType: account_osAccount.AuthType.PIN,
    keys: keys
  };
4234
  try {
4235
    userAuth.getProperty(request).then((result: account_osAccount.ExecutorProperty) => {
4236
      console.log('getProperty result = ' + JSON.stringify(result));
4237
    }).catch((err: BusinessError) => {
4238 4239 4240 4241 4242
      console.log('getProperty error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('getProperty exception = ' + JSON.stringify(e));
  }
4243 4244 4245 4246
  ```

### setProperty<sup>8+</sup>

4247
setProperty(request: SetPropertyRequest, callback: AsyncCallback&lt;void&gt;): void;
4248

J
jidong 已提交
4249
设置可用于初始化算法的属性。使用callback异步回调。
4250

J
jidong 已提交
4251
**系统接口:** 此接口为系统接口。
4252 4253 4254 4255 4256 4257 4258 4259 4260

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

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

**参数:**

| 参数名    | 类型                                                  | 必填 | 说明                                                                    |
| -------- | ----------------------------------------------------- | ---- | ---------------------------------------------------------------------- |
4261
| request  | [SetPropertyRequest](#setpropertyrequest8)| 是   | 请求信息,包括认证类型和要设置的密钥值。                                   |
4262
| callback | AsyncCallback&lt;void&gt;                           | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
4263

J
jidong 已提交
4264 4265 4266 4267 4268 4269 4270
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid request. |

4271
**示例:**
4272
  ```ts
4273
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4274
  let userAuth = new account_osAccount.UserAuth();
C
cclicn 已提交
4275
  let request: account_osAccount.SetPropertyRequest = {
J
jidong 已提交
4276 4277 4278 4279
    authType: account_osAccount.AuthType.PIN,
    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
    setInfo: new Uint8Array([0])
  };
4280
  try {
4281
    userAuth.setProperty(request, (err: BusinessError) => {
4282 4283 4284 4285 4286
      if (err) {
        console.log('setProperty failed, error = ' + JSON.stringify(err));
      } else {
        console.log('setProperty successfully');
      }
4287 4288 4289 4290
    });
  } catch (e) {
    console.log('setProperty exception = ' + JSON.stringify(e));
  }
4291 4292 4293 4294
  ```

### setProperty<sup>8+</sup>

4295
setProperty(request: SetPropertyRequest): Promise&lt;void&gt;;
4296

J
jidong 已提交
4297
设置可用于初始化算法的属性。使用Promise异步回调。
4298

J
jidong 已提交
4299
**系统接口:** 此接口为系统接口。
4300 4301 4302 4303 4304 4305 4306

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

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

**参数:**

J
jidong 已提交
4307 4308
| 参数名    | 类型                                       | 必填 | 说明                                      |
| -------- | ------------------------------------------ | ---- | ---------------------------------------- |
4309
| request  | [SetPropertyRequest](#setpropertyrequest8) | 是   | 请求信息,包括身份验证类型和要设置的密钥值。 |
4310 4311 4312

**返回值:**

J
jidong 已提交
4313 4314
| 类型                  | 说明                                                           |
| :-------------------- | :------------------------------------------------------------ |
A
Annie_wang 已提交
4315
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
4316

J
jidong 已提交
4317 4318 4319 4320 4321 4322 4323
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid request. |

4324
**示例:**
4325
  ```ts
4326
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4327
  let userAuth = new account_osAccount.UserAuth();
C
cclicn 已提交
4328
  let request2: account_osAccount.SetPropertyRequest = {
J
jidong 已提交
4329 4330 4331 4332
    authType: account_osAccount.AuthType.PIN,
    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
    setInfo: new Uint8Array([0])
  };
4333
  try {
4334
    userAuth.setProperty(request2).then(() => {
4335
      console.log('setProperty successfully');
4336
    }).catch((err: BusinessError) => {
4337
      console.log('setProperty failed, error = ' + JSON.stringify(err));
4338 4339 4340 4341
    });
  } catch (e) {
    console.log('setProperty exception = ' + JSON.stringify(e));
  }
4342 4343 4344 4345 4346 4347
  ```

### auth<sup>8+</sup>

auth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

J
jidong 已提交
4348
认证当前用户。使用callback异步回调。
4349

J
jidong 已提交
4350
**系统接口:** 此接口为系统接口。
4351 4352 4353 4354 4355 4356 4357

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

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

**参数:**

J
jidong 已提交
4358 4359
| 参数名           | 类型                                     | 必填 | 说明                                |
| --------------- | ---------------------------------------- | --- | ------------------------------------ |
J
jidong 已提交
4360
| challenge       | Uint8Array                               | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。|
4361 4362
| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
J
jidong 已提交
4363
| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4364 4365 4366 4367

**返回值:**

| 类型        | 说明               |
J
jidong 已提交
4368
| ---------- | ------------------ |
4369 4370
| Uint8Array | 返回取消的上下文ID。 |

J
jidong 已提交
4371 4372 4373 4374 4375
**错误码:**

| 错误码ID | 错误信息          |
| -------- | --------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
4376
| 12300002 | Invalid challenge, authType or authTrustLevel. |
J
jidong 已提交
4377
| 12300101 | Credential is incorrect. |
4378
| 12300102 | Credential not enrolled. |
J
jidong 已提交
4379 4380
| 12300105 | Unsupported authTrustLevel. |
| 12300106 | Unsupported authType. |
4381
| 12300109 | Authentication is canceled. |
C
chennian 已提交
4382
| 12300110 | Authentication is locked. |
J
jidong 已提交
4383
| 12300111 | Authentication timeout. |
C
chennian 已提交
4384
| 12300112 | Authentication service is busy. |
J
jidong 已提交
4385

4386
**示例:**
4387
  ```ts
J
jidong 已提交
4388 4389 4390 4391
  let userAuth = new account_osAccount.UserAuth();
  let challenge = new Uint8Array([0]);
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4392 4393
  try {
    userAuth.auth(challenge, authType, authTrustLevel, {
4394
      onResult: (result,extraInfo) => {
4395 4396 4397 4398 4399 4400 4401
          console.log('auth result = ' + result);
          console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('auth exception = ' + JSON.stringify(e));
  }
4402 4403 4404 4405 4406 4407
  ```

### authUser<sup>8+</sup>

authUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

J
jidong 已提交
4408
认证指定用户。使用callback异步回调。
4409

J
jidong 已提交
4410
**系统接口:** 此接口为系统接口。
4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421

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

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

**参数:**

| 参数名           | 类型                                                 | 必填 | 说明                                |
| --------------- | ---------------------------------------------------- | --- | ------------------------------------ |
| userId          | number                                               | 是  | 指示用户身份。                        |
| challenge       | Uint8Array                                           | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。                          |
4422 4423
| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
J
jidong 已提交
4424
| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4425 4426 4427 4428

**返回值:**

| 类型        | 说明               |
J
jidong 已提交
4429
| ---------- | ------------------ |
4430 4431
| Uint8Array | 返回取消的上下文ID。 |

J
jidong 已提交
4432 4433 4434 4435 4436
**错误码:**

| 错误码ID | 错误信息          |
| -------- | --------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
4437
| 12300002 | Invalid userId, challenge, authType or authTrustLevel. |
J
jidong 已提交
4438
| 12300101 | Credential is incorrect. |
4439
| 12300102 | Credential not enrolled. |
J
jidong 已提交
4440 4441
| 12300105 | Unsupported authTrustLevel. |
| 12300106 | Unsupported authType. |
4442
| 12300109 | Authentication is canceled. |
C
chennian 已提交
4443
| 12300110 | Authentication is locked. |
J
jidong 已提交
4444
| 12300111 | Authentication timeout. |
C
chennian 已提交
4445
| 12300112 | Authentication service is busy. |
J
jidong 已提交
4446

4447
**示例:**
4448
  ```ts
J
jidong 已提交
4449
  let userAuth = new account_osAccount.UserAuth();
4450
  let userID: number = 100;
J
jidong 已提交
4451 4452 4453
  let challenge = new Uint8Array([0]);
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4454 4455
  try {
    userAuth.authUser(userID, challenge, authType, authTrustLevel, {
4456
      onResult: (result,extraInfo) => {
J
jidong 已提交
4457 4458
        console.log('authUser result = ' + result);
        console.log('authUser extraInfo = ' + JSON.stringify(extraInfo));
4459 4460 4461 4462 4463
      }
    });
  } catch (e) {
    console.log('authUser exception = ' + JSON.stringify(e));
  }
4464 4465 4466 4467
  ```

### cancelAuth<sup>8+</sup>

4468
cancelAuth(contextID: Uint8Array): void;
4469

J
jidong 已提交
4470
取消指定的认证操作。
4471

J
jidong 已提交
4472
**系统接口:** 此接口为系统接口。
4473 4474 4475 4476 4477 4478 4479 4480 4481

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

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

**参数:**

| 参数名    | 类型       | 必填  | 说明                                        |
| ----------| ---------- | ---- | ------------------------------------------ |
J
jidong 已提交
4482 4483 4484 4485 4486 4487 4488 4489
| contextId | Uint8Array | 是   | 指示身份验证上下文ID,此ID动态生成没有具体值。 |

**错误码:**

| 错误码ID | 错误信息            |
| -------- | ------------------ |
| 12300001 | System service exception. |
| 12300002 | Invalid contextId. |
4490

4491
**示例:**
4492
  ```ts
J
jidong 已提交
4493
  let userAuth = new account_osAccount.UserAuth();
4494
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
4495
  let challenge = new Uint8Array([0]);
J
jidong 已提交
4496
  let contextId = userAuth.auth(challenge, account_osAccount.AuthType.PIN, account_osAccount.AuthTrustLevel.ATL1, {
4497
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
4498 4499
      console.log('auth result = ' + result);
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
4500 4501
    }
  });
4502
  try {
J
jidong 已提交
4503
    userAuth.cancelAuth(contextId);
4504 4505 4506
  } catch (e) {
    console.log('cancelAuth exception = ' + JSON.stringify(e));
  }
4507 4508 4509 4510
  ```

## PINAuth<sup>8+</sup>

W
wangyihui 已提交
4511
PIN码认证基类。
4512

J
jidong 已提交
4513
**系统接口:** 此接口为系统接口。
4514

4515 4516 4517 4518
### constructor<sup>8+</sup>

constructor()

W
wangyihui 已提交
4519
创建PIN码认证的实例。
4520

J
jidong 已提交
4521
**系统接口:** 此接口为系统接口。
L
lichenchen 已提交
4522

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

4525
**示例:**  
4526
  ```ts
4527
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
4528 4529
  ```

4530
### registerInputer<sup>8+</sup>
4531

J
jidong 已提交
4532
registerInputer(inputer: IInputer): void;
4533

J
jidong 已提交
4534
注册PIN码输入器。
4535

J
jidong 已提交
4536
**系统接口:** 此接口为系统接口。
4537 4538 4539 4540 4541 4542 4543

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

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

**参数:**

J
jidong 已提交
4544 4545 4546
| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| inputer   | [IInputer](#iinputer8)  | 是  | PIN码输入器,用于获取PIN码。 |
4547

J
jidong 已提交
4548 4549 4550 4551 4552
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
chennian 已提交
4553
| 12300002 | Invalid inputer. |
J
jidong 已提交
4554 4555
| 12300103 | Inputer already registered. |

4556
**示例:**
4557
  ```ts
4558
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
4559
  let password = new Uint8Array([0, 0, 0, 0, 0]);
4560 4561
  try {
    let result = pinAuth.registerInputer({
4562
        onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
4563
          callback.onSetData(authSubType, password);
4564 4565 4566 4567 4568 4569
        }
    });
    console.log('registerInputer result = ' + result);
  } catch (e) {
    console.log('registerInputer exception = ' + JSON.stringify(e));
  }
4570 4571
  ```

4572
### unregisterInputer<sup>8+</sup>
4573 4574 4575

unregisterInputer(): void;

J
jidong 已提交
4576
解注册PIN码输入器。
4577

J
jidong 已提交
4578
**系统接口:** 此接口为系统接口。
4579 4580 4581 4582 4583

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

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

4584
**示例:**
4585
  ```ts
4586
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
4587 4588 4589
  pinAuth.unregisterInputer();
  ```

J
jidong 已提交
4590
## InputerManager <sup>9+</sup>
W
wangyihui 已提交
4591 4592 4593

凭据输入管理器。

J
jidong 已提交
4594
### registerInputer<sup>9+</sup>
W
wangyihui 已提交
4595

J
jidong 已提交
4596
static registerInputer(authType: AuthType, inputer: IInputer): void
W
wangyihui 已提交
4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617

注册凭据输入器。

**系统接口:** 此接口为系统接口。

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

**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 或 ohos.permission.MANAGE_USER_IDM

**参数:**

| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| authType   | [AuthType](#authtype8)  | 是  | 认证类型。 |
| inputer   | [IInputer](#iinputer8)  | 是  | 凭据输入器,用于获取凭据。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
chennian 已提交
4618
| 12300002 | Invalid authType or inputer. |
W
wangyihui 已提交
4619 4620 4621 4622
| 12300103 | The credential inputer has been registered. |
| 12300106 | Unsupported authType. |

**示例:**
4623
  ```ts
W
wangyihui 已提交
4624
  let authType = account_osAccount.AuthType.DOMAIN;
4625
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0]);
W
wangyihui 已提交
4626
  try {
J
jidong 已提交
4627
    account_osAccount.InputerManager.registerInputer(authType, {
4628
        onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
4629 4630 4631 4632 4633 4634 4635 4636 4637
          callback.onSetData(authSubType, password);
        }
    });
    console.log('registerInputer success.');
  } catch (e) {
    console.log('registerInputer exception = ' + JSON.stringify(e));
  }
  ```

J
jidong 已提交
4638
### unregisterInputer<sup>9+</sup>
W
wangyihui 已提交
4639

J
jidong 已提交
4640
static unregisterInputer(authType: AuthType): void
W
wangyihui 已提交
4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662

解注册凭据输入器。

**系统接口:** 此接口为系统接口。

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

**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 或 ohos.permission.MANAGE_USER_IDM

**参数:**

| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| authType   | [AuthType](#authtype8)  | 是  | 认证类型。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300002  | Invalid authType. |

**示例:**
4663
  ```ts
W
wangyihui 已提交
4664 4665
  let authType = account_osAccount.AuthType.DOMAIN;
  try {
J
jidong 已提交
4666
    account_osAccount.InputerManager.unregisterInputer(authType);
W
wangyihui 已提交
4667 4668
    console.log('unregisterInputer success.');
  } catch(err) {
C
chennian 已提交
4669
    console.log('unregisterInputer err:' + JSON.stringify(err));
W
wangyihui 已提交
4670 4671 4672
  }
  ```

J
jidong 已提交
4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697
## DomainPlugin<sup>9+</sup>

域插件,提供域帐号认证功能。

**系统接口:** 此接口为系统接口。

### auth<sup>9+</sup>

auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void

认证指定的域帐号。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| credential   | Uint8Array  | 是   | 指示域帐号的凭据。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**示例:**
4698
  ```ts
4699
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4700
  let plugin: account_osAccount.DomainPlugin = {
4701 4702
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4703
      // mock authentication
J
jidong 已提交
4704
      // notify authentication result
C
cclicn 已提交
4705
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4706 4707 4708
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4709 4710
      };
      callback.onResult(0, result);
J
jidong 已提交
4711
    },
4712 4713 4714 4715
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4716
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4717 4718 4719 4720 4721 4722 4723 4724 4725
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                      callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4726 4727 4728 4729
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin);
  let userAuth = new account_osAccount.UserAuth();
  let challenge = new Uint8Array([0]);
J
jidong 已提交
4730
  let authType = account_osAccount.AuthType.DOMAIN;
J
jidong 已提交
4731 4732 4733
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
  try {
    userAuth.auth(challenge, authType, authTrustLevel, {
4734
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
4735 4736 4737 4738 4739 4740 4741 4742 4743
          console.log('auth resultCode = ' + resultCode);
          console.log('auth authResult = ' + JSON.stringify(authResult));
      }
    });
  } catch (err) {
    console.log('auth exception = ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761
### authWithPopup<sup>10+</sup>

authWithPopup(domainAccountInfo: DomainAccountInfo, callback: IUserAuthCallback): void

弹窗认证指定的域帐号。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**示例:**
4762
  ```ts
4763
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4764
  let plugin: account_osAccount.DomainPlugin = {
4765 4766 4767 4768
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4769 4770
      // mock authentication
      // notify authentication result
C
cclicn 已提交
4771
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4772 4773 4774
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4775 4776
      };
      callback.onResult(0, result);
J
jidong 已提交
4777
    },
4778 4779
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4780
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4781 4782 4783 4784 4785 4786 4787 4788 4789
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### authWithToken<sup>10+</sup>

authWithToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: IUserAuthCallback): void

使用授权令牌认证指定的域帐号。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| token   | Uint8Array  | 是   | 指示PIN码或生物识别认证成功时生成的授权令牌。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**示例:**
4813
  ```ts
4814
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4815
  let plugin: account_osAccount.DomainPlugin = {
4816 4817 4818 4819 4820 4821
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4822 4823
      // mock authentication
      // notify authentication result
C
cclicn 已提交
4824
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4825 4826 4827
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4828 4829
      };
      callback.onResult(0, result);
J
jidong 已提交
4830
    },
4831
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4832 4833 4834 4835 4836 4837 4838 4839 4840
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4841 4842 4843 4844 4845 4846
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### getAccountInfo<sup>10+</sup>

4847
getAccountInfo(options: GetDomainAccountInfoPluginOptions, callback: AsyncCallback&lt;DomainAccountInfo&gt;): void
J
jidong 已提交
4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858

查询指定域帐号的信息。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
4859
| options   | [GetDomainAccountInfoPluginOptions](#getdomainaccountinfopluginoptions10)  | 是   | 指示域帐号信息。|
J
jidong 已提交
4860 4861 4862
| callback   | AsyncCallback&lt;[DomainAccountInfo](#domainaccountinfo8)&gt; | 是   | 指示查询结果回调。|

**示例:**
4863
  ```ts
4864
  import { AsyncCallback, BusinessError } from '@ohos.base';
C
cclicn 已提交
4865
  let plugin: account_osAccount.DomainPlugin = {
4866 4867 4868 4869 4870 4871
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4872
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4873
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {
J
jidong 已提交
4874 4875
      // mock getting account information
      // notify result
C
cclicn 已提交
4876 4877 4878 4879 4880 4881
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let accountInfo: account_osAccount.DomainAccountInfo = {
4882 4883
        domain: options.domain,
        accountName: options.accountName,
C
chennian 已提交
4884
        accountId: 'xxxx'
C
cclicn 已提交
4885 4886
      };
      callback(code, accountInfo);
J
jidong 已提交
4887
    },
4888 4889 4890 4891 4892 4893 4894 4895
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### getAuthStatusInfo<sup>10+</sup>

getAuthStatusInfo(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback&lt;AuthStatusInfo&gt;): void

查询指定域帐号的认证状态信息。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | AsyncCallback&lt;[AuthStatusInfo](#authstatusinfo10)&gt; | 是   | 指示查询结果回调。|

**示例:**
4918
  ```ts
4919
  import { AsyncCallback, BusinessError } from '@ohos.base';
C
cclicn 已提交
4920
  let plugin: account_osAccount.DomainPlugin = {
4921 4922 4923 4924 4925 4926
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4927
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4928 4929 4930
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {
C
cclicn 已提交
4931 4932 4933 4934 4935 4936
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let statusInfo: account_osAccount.AuthStatusInfo = {
J
jidong 已提交
4937 4938
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4939 4940
      };
      callback(code, statusInfo);
J
jidong 已提交
4941
    },
4942 4943 4944 4945 4946 4947
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### bindAccount<sup>10+</sup>

bindAccount(domainAccountInfo: DomainAccountInfo, localId: number, callback: AsyncCallback&lt;void&gt;): void

绑定指定的域帐号。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | AsyncCallback&lt;void&gt; | 是   | 指示绑定结果回调。|

**示例:**
4970
  ```ts
4971
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
4972
  let plugin: account_osAccount.DomainPlugin = {
4973 4974 4975 4976 4977 4978
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4979
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4980 4981 4982 4983 4984
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {
J
jidong 已提交
4985 4986
      // mock unbinding operation
      // notify binding result
C
cclicn 已提交
4987 4988 4989 4990 4991 4992
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      callback(code);
J
jidong 已提交
4993
    },
4994 4995 4996 4997
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### unbindAccount<sup>10+</sup>

unbindAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback&lt;void&gt;): void

解绑指定的域帐号。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | AsyncCallback&lt;void&gt; | 是   | 指示绑定结果回调。|

**示例:**
5020
  ```ts
5021
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5022
  let plugin: account_osAccount.DomainPlugin = {
5023 5024 5025 5026 5027 5028
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
5029
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5030 5031 5032 5033 5034 5035
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {
J
jidong 已提交
5036 5037
      // mock unbinding operation
      // notify unbinding result
C
cclicn 已提交
5038 5039 5040 5041 5042 5043
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      callback(code);
J
jidong 已提交
5044
    },
5045 5046 5047
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### isAccountTokenValid<sup>10+</sup>

isAccountTokenValid(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: AsyncCallback&lt;boolean&gt;): void

检查指定的域帐号令牌是否有效。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| token | Uint8Array | 是 | 指示域帐号令牌。 |
| callback   | AsyncCallback&lt;boolean&gt; | 是   | 指示检查结果回调。|

**示例:**
5071
  ```ts
5072
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5073
  let plugin: account_osAccount.DomainPlugin = {
5074 5075 5076 5077 5078 5079
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
5080
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5081 5082 5083 5084 5085 5086 5087 5088
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {
J
jidong 已提交
5089 5090
      // mock checking operation
      // notify checking result
C
cclicn 已提交
5091 5092 5093 5094 5095
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
5096
      callback(code, true);
J
jidong 已提交
5097
    },
5098
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### getAccessToken<sup>10+</sup>

getAccessToken(options: GetDomainAccessTokenOptions, callback: AsyncCallback&lt;Uint8Array&gt;): void

根据指定的选项获取域访问令牌。

**系统接口:** 此接口为系统接口。

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| options | [GetDomainAccessTokenOptions](#getdomainaccesstokenoptions10)  | 是   | 指示获取域访问令牌的选项。|
| callback   | AsyncCallback&lt;Uint8Array&gt; | 是   | 指示结果回调。|

**示例:**
5121
  ```ts
5122
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5123
  let plugin: account_osAccount.DomainPlugin = {
5124 5125 5126 5127 5128 5129
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
5130
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5131 5132 5133 5134 5135 5136 5137 5138 5139
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {
J
jidong 已提交
5140 5141
      // mock getting operation
      // notify result
C
cclicn 已提交
5142 5143 5144 5145 5146 5147
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let token: Uint8Array = new Uint8Array([0]);
5148
      callback(code, token);
J
jidong 已提交
5149 5150 5151 5152 5153
    }
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

J
jidong 已提交
5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178
## DomainAccountManager <sup>9+</sup>
域帐号管理器类。

### registerPlugin<sup>9+</sup>

static registerPlugin(plugin: DomainPlugin): void

注册域插件。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| plugin   | [DomainPlugin](#domainplugin9)  | 是  | 指示域插件。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
C
chennian 已提交
5179
| 12300201 | The domain plugin has been registered. |
J
jidong 已提交
5180 5181

**示例:**
5182
  ```ts
5183
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
5184
  let plugin: account_osAccount.DomainPlugin = {
5185 5186 5187 5188 5189 5190
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
         callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                  callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                  callback: account_osAccount.IUserAuthCallback) => {},
5191
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5192 5193 5194 5195 5196 5197 5198 5199 5200
                   callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {},
    bindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, localId: number,
                  callback: AsyncCallback<void>) => {},
    unbindAccount: (domainAccountInfo: account_osAccount.DomainAccountInfo, callback: AsyncCallback<void>) => {},
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                        callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
5201 5202 5203 5204 5205
  }
  try {
    account_osAccount.DomainAccountManager.registerPlugin(plugin);
    console.log('registerPlugin success.');
  } catch(err) {
C
chennian 已提交
5206
    console.log('registerPlugin err:' + JSON.stringify(err));
J
jidong 已提交
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222
  }
  ```

### unregisterPlugin<sup>9+</sup>

static unregisterPlugin(): void

注销域插件。

**系统接口:** 此接口为系统接口。

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

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

**示例:**
5223
  ```ts
J
jidong 已提交
5224 5225 5226 5227
  try {
    account_osAccount.DomainAccountManager.unregisterPlugin();
    console.log('unregisterPlugin success.');
  } catch(err) {
C
chennian 已提交
5228
    console.log('unregisterPlugin err:' + JSON.stringify(err));
J
jidong 已提交
5229 5230 5231
  }
  ```

J
jidong 已提交
5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255
### auth<sup>10+</sup>

auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void

认证指定的域帐号。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| credential   | Uint8Array  | 是   | 指示域帐号的凭据。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
C
chennian 已提交
5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo or credential. |
| 12300003 | Domain account does not exist. |
| 12300013 | Network exception. |
| 12300101 | Authentication failed. |
| 12300109 | Authentication is canceled. |
| 12300110 | Authentication is locked. |
| 12300111 | Authentication timeout. |
| 12300112 | Authentication service is busy. |
| 12300113 | Authentication service does not exist. |
| 12300114 | Authentication service exception. |
J
jidong 已提交
5267 5268

**示例:**
5269
  ```ts
C
cclicn 已提交
5270
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5271 5272
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5273 5274 5275 5276
  }
  let credential = new Uint8Array([0])
  try {
    account_osAccount.DomainAccountManager.auth(domainAccountInfo, credential, {
5277
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308
        console.log('auth resultCode = ' + resultCode);
        console.log('auth authResult = ' + JSON.stringify(authResult));
      }
    });
  } catch (err) {
    console.log('auth exception = ' + JSON.stringify(err));
  }
  ```

### authWithPopup<sup>10+</sup>

authWithPopup(callback: IUserAuthCallback): void

弹框认证指定的域帐号。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
C
chennian 已提交
5309 5310 5311 5312 5313 5314 5315 5316 5317 5318
| 12300001 | System service exception. |
| 12300003 | No domain account is bound. |
| 12300013 | Network exception. |
| 12300101 | Authentication failed. |
| 12300109 | Authentication is canceled. |
| 12300110 | Authentication is locked. |
| 12300111 | Authentication timeout. |
| 12300112 | Authentication service is busy. |
| 12300113 | Authentication service does not exist. |
| 12300114 | Authentication service exception. |
J
jidong 已提交
5319 5320

**示例:**
5321
  ```ts
J
jidong 已提交
5322 5323
  try {
    account_osAccount.DomainAccountManager.authWithPopup({
5324
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356
        console.log('auth resultCode = ' + resultCode);
        console.log('auth authResult = ' + JSON.stringify(authResult));
      }
    })
  } catch (err) {
    console.log('auth exception = ' + JSON.stringify(err));
  }
  ```

### authWithPopup<sup>10+</sup>

authWithPopup(localId: number, callback: IUserAuthCallback): void

弹框认证指定的域帐号。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| localId   | number  | 是   | 指示绑定域帐号的系统帐号的本地标识。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
C
chennian 已提交
5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367
| 12300001 | System service exception. |
| 12300002 | Invalid localId. |
| 12300003 | No domain account is bound. |
| 12300013 | Network exception. |
| 12300101 | Authentication failed. |
| 12300109 | Authentication is canceled. |
| 12300110 | Authentication is locked. |
| 12300111 | Authentication timeout. |
| 12300112 | Authentication service is busy. |
| 12300113 | Authentication service does not exist. |
| 12300114 | Authentication service exception. |
J
jidong 已提交
5368 5369

**示例:**
5370
  ```ts
J
jidong 已提交
5371 5372
  try {
    account_osAccount.DomainAccountManager.authWithPopup(100, {
5373
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405
        console.log('authWithPopup resultCode = ' + resultCode);
        console.log('authWithPopup authResult = ' + JSON.stringify(authResult));
      }
    })
  } catch (err) {
    console.log('authWithPopup exception = ' + JSON.stringify(err));
  }
  ```

### hasAccount<sup>10+</sup>

hasAccount(domainAccountInfo: DomainAccountInfo, callback: AsyncCallback&lt;boolean&gt;): void

检查是否存在指定的域帐号。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | AsyncCallback&lt;boolean&gt;  | 是   | 指示检查结果回调。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
C
chennian 已提交
5406 5407 5408
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
5409
| 12300111 | Operation timeout. |
J
jidong 已提交
5410 5411

**示例:**
5412
  ```ts
5413
  import { BusinessError } from '@ohos.base';
5414
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5415 5416
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5417 5418
  }
  try {
5419
    account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo, (err: BusinessError, result: boolean) => {
J
jidong 已提交
5420
      if (err) {
C
chennian 已提交
5421
        console.log('call hasAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5422
      } else {
C
chennian 已提交
5423
        console.log('hasAccount result: ' + result);
J
jidong 已提交
5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458
      }
    });
  } catch (err) {
    console.log('hasAccount exception = ' + JSON.stringify(err));
  }
  ```

### hasAccount<sup>10+</sup>

hasAccount(domainAccountInfo: DomainAccountInfo): Promise&lt;boolean&gt;

检查是否存在指定的域帐号。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|

**返回值:**

| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;boolean&gt; | Promise对象,返回指定的域帐号是否存在。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
C
chennian 已提交
5459 5460 5461
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
5462
| 12300111 | Operation timeout. |
J
jidong 已提交
5463 5464

**示例:**
5465
  ```ts
5466
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5467
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5468 5469
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5470 5471
  }
  try {
5472
    account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo).then((result: boolean) => {
C
chennian 已提交
5473
      console.log('hasAccount result: ' + result);
5474
    }).catch((err: BusinessError) => {
C
chennian 已提交
5475
        console.log('call hasAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5476 5477 5478 5479 5480 5481
    });
  } catch (err) {
    console.log('hasAccount exception = ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510
### updateAccountToken<sup>10+</sup>

updateAccountToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array, callback: AsyncCallback&lt;void&gt;): void;

更新指定域帐号的令牌,空令牌表示目标域帐号的令牌失效。使用callback异步回调。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| token | Uint8Array  | 是   | 指示域帐号的令牌。|
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。如果更新成功,err为null,否则为错误对象。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid token. |
| 12300003 | Account not found. |

**示例:**
5511
  ```ts
5512
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5513
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5514 5515 5516
    domain: 'CHINA',
    accountName: 'zhangsan',
    accountId: '123456'
J
jidong 已提交
5517 5518 5519
  }
  let token = new Uint8Array([0])
  try {
5520
    account_osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token, (err: BusinessError) => {
J
jidong 已提交
5521
      if (err != null) {
C
chennian 已提交
5522
        console.log('updateAccountToken failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5523
      } else {
C
chennian 已提交
5524
        console.log('updateAccountToken successfully');
J
jidong 已提交
5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565
      }
    })
  } catch (err) {
    console.log('updateAccountToken exception = ' + JSON.stringify(err));
  }
  ```

### updateAccountToken<sup>10+</sup>

updateAccountToken(domainAccountInfo: DomainAccountInfo, token: Uint8Array): Promise&lt;void&gt;

更新指定域帐号的令牌,空令牌表示目标域帐号的令牌失效。使用Promise异步回调。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| token | Uint8Array  | 是   | 指示域帐号的令牌。|

**返回值:**

| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid token. |
| 12300003 | Account not found. |

**示例:**
5566
  ```ts
5567
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5568
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5569 5570 5571
    domain: 'CHINA',
    accountName: 'zhangsan',
    accountId: '123456'
J
jidong 已提交
5572 5573 5574 5575
  }
  let token = new Uint8Array([0])
  try {
    account_osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token).then(() => {
C
chennian 已提交
5576
      console.log('updateAccountToken successfully');
5577
    }).catch((err: BusinessError) => {
C
chennian 已提交
5578
        console.log('updateAccountToken failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5579 5580 5581 5582 5583 5584
    });
  } catch (err) {
    console.log('updateAccountToken exception = ' + JSON.stringify(err));
  }
  ```

5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608
### getAccountInfo<sup>10+</sup>

getAccountInfo(options: GetDomainAccountInfoOptions, callback: AsyncCallback&lt;DomainAccountInfo&gt;): void

查询指定的域帐号信息,callback方式。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| options   | [GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)  | 是   | 指示域帐号信息。|
| callback   | AsyncCallback&lt;DomainAccountInfo&gt;  | 是   | 指示查询结果回调。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
cc_ggboy 已提交
5609
| 12300003 | Account not found. |
5610 5611 5612 5613
| 12300013 | Network exception. |
| 12300111 | Operation timeout. |

**示例:**
5614
  ```ts
5615
  import { BusinessError } from '@ohos.base';
C
cc_ggboy 已提交
5616
  let domainAccountInfo: account_osAccount.GetDomainAccountInfoOptions = {
5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662
    domain: 'CHINA',
    accountName: 'zhangsan'
  }
  try {
    account_osAccount.DomainAccountManager.getAccountInfo(domainAccountInfo,
      (err: BusinessError, result: account_osAccount.DomainAccountInfo) => {
      if (err) {
        console.log('call getAccountInfo failed, error: ' + JSON.stringify(err));
      } else {
        console.log('getAccountInfo result: ' + result);
      }
    });
  } catch (err) {
    console.log('getAccountInfo exception = ' + JSON.stringify(err));
  }
  ```

### getAccountInfo<sup>10+</sup>

getAccountInfo(options: GetDomainAccountInfoOptions): Promise&lt;DomainAccountInfo&gt;

查询指定的域帐号信息,promise方式。

**系统接口:** 此接口为系统接口。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| options   | [GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)  | 是   | 指示域帐号信息。|

**返回值:**

| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;DomainAccountInfo&gt; | Promise对象,返回指定的域帐号信息。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
cc_ggboy 已提交
5663
| 12300003 | Account not found. |
5664 5665 5666 5667
| 12300013 | Network exception. |
| 12300111 | Operation timeout. |

**示例:**
5668
  ```ts
5669
  import { BusinessError } from '@ohos.base';
C
cc_ggboy 已提交
5670
  let domainAccountInfo: account_osAccount.GetDomainAccountInfoOptions = {
5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685
    domain: 'CHINA',
    accountName: 'zhangsan'
  }
  try {
    account_osAccount.DomainAccountManager.getAccountInfo(domainAccountInfo)
      .then((result: account_osAccount.DomainAccountInfo) => {
      console.log('getAccountInfo result: ' + result);
    }).catch((err: BusinessError) => {
      console.log('call getAccountInfo failed, error: ' + JSON.stringify(err));
    });
  } catch (err) {
    console.log('getAccountInfo exception = ' + JSON.stringify(err));
  }
  ```

5686 5687 5688 5689
## UserIdentityManager<sup>8+</sup>

获取用户身份管理类。

J
jidong 已提交
5690
**系统接口:** 此接口为系统接口。
5691

5692 5693 5694 5695
### constructor<sup>8+</sup>

constructor()

J
jidong 已提交
5696
用户身份管理类的默认构造函数。
5697

J
jidong 已提交
5698
**系统接口:** 此接口为系统接口。
5699

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

5702
**示例:**  
5703
  ```ts
J
jidong 已提交
5704
  let userIDM = new account_osAccount.UserIdentityManager();
5705 5706 5707 5708 5709 5710
  ```

### openSession<sup>8+</sup>

openSession(callback: AsyncCallback&lt;Uint8Array&gt;): void;

J
jidong 已提交
5711
打开会话,获取挑战值。使用callback异步回调。
5712

J
jidong 已提交
5713
**系统接口:** 此接口为系统接口。
5714 5715 5716 5717 5718 5719 5720

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

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

**参数:**

J
jidong 已提交
5721 5722 5723
| 参数名    | 类型                             | 必填 | 说明                                                            |
| -------- | -------------------------------- | ---- | -------------------------------------------------------------- |
| callback | AsyncCallback&lt;Uint8Array&gt;  | 是   | 回调函数。如果打开会话成功,err为null,data为挑战值;否则为错误对象。|
5724

J
jidong 已提交
5725 5726 5727 5728 5729 5730
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |

5731
**示例:**
5732
  ```ts
5733
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5734
  let userIDM = new account_osAccount.UserIdentityManager();
5735
  try {
5736
    userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
5737 5738 5739 5740 5741 5742
        console.log('openSession error = ' + JSON.stringify(err));
        console.log('openSession challenge = ' + JSON.stringify(challenge));
    });
  } catch (e) {
    console.log('openSession exception = ' + JSON.stringify(e));
  }
5743 5744 5745 5746 5747 5748
  ```

### openSession<sup>8+</sup>

openSession(): Promise&lt;Uint8Array&gt;;

J
jidong 已提交
5749
打开会话,获取挑战值。使用Promise异步回调。
5750

J
jidong 已提交
5751
**系统接口:** 此接口为系统接口。
5752 5753 5754 5755 5756 5757 5758

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

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

**返回值:**

J
jidong 已提交
5759 5760 5761
| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;Uint8Array&gt; | Promise对象,返回挑战值。 |
5762

J
jidong 已提交
5763 5764 5765 5766 5767 5768
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |

5769
**示例:**
5770
  ```ts
5771
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5772
  let userIDM = new account_osAccount.UserIdentityManager();
5773
  try {
5774
    userIDM.openSession().then((challengechallenge: Uint8Array) => {
5775
        console.info('openSession challenge = ' + JSON.stringify(challenge));
5776
    }).catch((err: BusinessError) => {
5777 5778 5779 5780 5781
        console.info('openSession error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('openSession exception = ' + JSON.stringify(e));
  }
5782 5783 5784 5785 5786 5787
  ```

### addCredential<sup>8+</sup>

addCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

J
jidong 已提交
5788
添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息。
5789

J
jidong 已提交
5790
**系统接口:** 此接口为系统接口。
5791 5792 5793 5794 5795 5796 5797

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

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

**参数:**

J
jidong 已提交
5798
| 参数名           | 类型                                 | 必填 | 说明                        |
J
jidong 已提交
5799
| --------------- | ------------------------------------ | --- | ---------------------------- |
J
jidong 已提交
5800 5801
| credentialInfo  | [CredentialInfo](#credentialinfo8)   | 是  | 指示凭据信息。                |
| callback        | [IIdmCallback](#iidmcallback8)       | 是  | 回调对象,返回添加凭据的结果。  |
5802

J
jidong 已提交
5803 5804 5805 5806 5807 5808 5809 5810
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialInfo, i.e. authType or authSubType. |
| 12300101 | Token is invalid. |
| 12300106 | Unsupported authType. |
5811 5812 5813
| 12300109 | Operation is canceled. |
| 12300111 | Operation timeout. |
| 12300115 | The number of credentials reaches the upper limit. |
J
jidong 已提交
5814

5815
**示例:**
5816
  ```ts
5817 5818 5819
  import { BusinessError } from '@ohos.base';
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
5820
  pinAuth.registerInputer({
5821
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
5822
      callback.onSetData(authSubType, password);
J
jidong 已提交
5823 5824
    }
  });
5825
  let credentialInfo: account_osAccount.CredentialInfo = {
J
jidong 已提交
5826 5827
    credType: account_osAccount.AuthType.PIN,
    credSubType: account_osAccount.AuthSubType.PIN_SIX,
C
cc_ggboy 已提交
5828
    token: new Uint8Array([]),
J
jidong 已提交
5829 5830
  };
  let userIDM = new account_osAccount.UserIdentityManager();
5831
  userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
5832
    try {
J
jidong 已提交
5833
    userIDM.addCredential(credentialInfo, {
5834
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
W
wangyihui 已提交
5835 5836
        console.log('addCredential result = ' + result);
        console.log('addCredential extraInfo = ' + extraInfo);
5837
      }
J
jidong 已提交
5838
    });
5839
    } catch (e) {
W
wangyihui 已提交
5840
      console.log('addCredential exception = ' + JSON.stringify(e));
5841
    }
J
jidong 已提交
5842
  });
5843 5844 5845 5846 5847 5848
  ```

### updateCredential<sup>8+</sup>

updateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

J
jidong 已提交
5849
更新凭据。使用callback异步回调。
5850

J
jidong 已提交
5851
**系统接口:** 此接口为系统接口。
5852 5853 5854 5855 5856 5857 5858

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

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

**参数:**

J
jidong 已提交
5859 5860 5861 5862
| 参数名           | 类型                                  | 必填 | 说明                     |
| --------------- | ------------------------------------- | --- | ------------------------- |
| credentialInfo  | [CredentialInfo](#credentialinfo8)    | 是  | 指示凭据信息。             |
| callback        | [IIdmCallback](#iidmcallback8)        | 是  | 回调对象,返回更新凭据的结果。 |
5863

J
jidong 已提交
5864 5865 5866 5867 5868 5869 5870
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialInfo, i.e. authType or authSubType or token. |
| 12300101 | Token is invalid. |
5871
| 12300102 | Credential not enrolled.|
J
jidong 已提交
5872
| 12300106 | Unsupported authType. |
5873 5874
| 12300109 | Operation is canceled. |
| 12300111 | Operation timeout. |
J
jidong 已提交
5875

5876
**示例:**
5877
  ```ts
5878
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5879
  let userIDM = new account_osAccount.UserIdentityManager();
5880 5881 5882
  let userAuth: account_osAccount.UserAuth = new account_osAccount.UserAuth();
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
C
cclicn 已提交
5883
  let credentialInfo: account_osAccount.CredentialInfo = {
J
jidong 已提交
5884 5885
    credType: account_osAccount.AuthType.PIN,
    credSubType: account_osAccount.AuthSubType.PIN_SIX,
C
cclicn 已提交
5886
    token: new Uint8Array([]),
J
jidong 已提交
5887 5888
  };
  pinAuth.registerInputer({
5889
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
5890
      callback.onSetData(authSubType, password);
J
jidong 已提交
5891 5892
    }
  });
5893
  userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
J
jidong 已提交
5894
    userAuth.auth(challenge, credentialInfo.credType, account_osAccount.AuthTrustLevel.ATL1, {
5895
      onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
J
jidong 已提交
5896 5897 5898
        if (result != account_osAccount.ResultCode.SUCCESS) {
          return;
        }
C
cclicn 已提交
5899 5900 5901
        if (extraInfo.token != null) {
          credentialInfo.token = extraInfo.token;
        }
5902 5903
        try {
          userIDM.updateCredential(credentialInfo, {
5904
            onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
5905 5906 5907 5908 5909 5910 5911
                console.log('updateCredential result = ' + result);
                console.log('updateCredential extraInfo = ' + extraInfo);
            }
          });
        } catch (e) {
          console.log('updateCredential exception = ' + JSON.stringify(e));
        }
5912
      }
J
jidong 已提交
5913 5914
    });
  });
5915 5916 5917 5918 5919 5920
  ```

### closeSession<sup>8+</sup>

closeSession(): void;

J
jidong 已提交
5921
关闭会话,结束IDM操作。
5922

J
jidong 已提交
5923
**系统接口:** 此接口为系统接口。
5924 5925 5926 5927 5928

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

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

5929
**示例:**
5930
  ```ts
J
jidong 已提交
5931
  let userIDM = new account_osAccount.UserIdentityManager();
5932 5933 5934 5935 5936
  userIDM.closeSession();
  ```

### cancel<sup>8+</sup>

5937
cancel(challenge: Uint8Array): void;
5938 5939 5940

根据挑战值取消条目。

J
jidong 已提交
5941
**系统接口:** 此接口为系统接口。
5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952

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

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

**参数:**

| 参数名    | 类型        | 必填 | 说明   |
| -------- | ----------- | ---- | ----- |
| challenge | Uint8Array | 是   | 挑战值。 |

J
jidong 已提交
5953 5954 5955 5956 5957 5958
**错误码:**

| 错误码ID | 错误信息            |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid challenge. |
5959

5960
**示例:**
5961
  ```ts
J
jidong 已提交
5962
  let userIDM = new account_osAccount.UserIdentityManager();
5963
  let challenge: Uint8Array = new Uint8Array([0]);
5964 5965 5966
  try {
    userIDM.cancel(challenge);
  } catch(err) {
C
chennian 已提交
5967
    console.log('cancel err:' + JSON.stringify(err));
5968
  }
5969 5970 5971 5972 5973 5974 5975 5976
  ```

### delUser<sup>8+</sup>

delUser(token: Uint8Array, callback: IIdmCallback): void;

删除具有身份验证令牌的用户,使用callback方式异步返回结果。

J
jidong 已提交
5977
**系统接口:** 此接口为系统接口。
5978 5979 5980 5981 5982 5983 5984

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

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

**参数:**

J
jidong 已提交
5985 5986 5987 5988
| 参数名    | 类型                           | 必填 | 说明                      |
| -------- | ------------------------------ | --- | ------------------------- |
| token    | Uint8Array                     | 是  | 身份验证令牌。             |
| callback | [IIdmCallback](#iidmcallback8) | 是  | 回调对象,返回删除用户的结果。|
5989

J
jidong 已提交
5990 5991 5992 5993 5994 5995 5996
**错误码:**

| 错误码ID | 错误信息        |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300101 | Token is invalid. |

5997
**示例:**
5998
  ```ts
J
jidong 已提交
5999
  let userIDM = new account_osAccount.UserIdentityManager();
6000
  let token: Uint8Array = new Uint8Array([0]);
6001 6002
  try {
    userIDM.delUser(token, {
6003
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
6004 6005 6006 6007 6008 6009 6010
        console.log('delUser result = ' + result);
        console.log('delUser extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('delUser exception = ' + JSON.stringify(e));
  }
6011 6012 6013 6014 6015 6016
  ```

### delCred<sup>8+</sup>

delCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void;

J
jidong 已提交
6017
删除用户凭据信息。
6018

J
jidong 已提交
6019
**系统接口:** 此接口为系统接口。
6020 6021 6022 6023 6024 6025 6026 6027

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

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

**参数:**

| 参数名           | 类型                                            | 必填 | 说明                      |
J
jidong 已提交
6028 6029 6030 6031
| --------------- | ----------------------------------- | --- | ---------------------------|
| credentialId    | Uint8Array                          | 是  | 凭证索引。                  |
| token           | Uint8Array                          | 是  | 身份验证令牌。               |
| callback        | [IIdmCallback](#iidmcallback8)      | 是  | 回调对象,返回删除凭据的结果。 |
6032

J
jidong 已提交
6033 6034 6035 6036 6037 6038 6039
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialId. |
| 12300101 | Token is invalid. |
6040
| 12300102 | Credential not enrolled. |
J
jidong 已提交
6041

6042
**示例:**
6043
  ```ts
J
jidong 已提交
6044
  let userIDM = new account_osAccount.UserIdentityManager();
6045 6046
  let credentialId: Uint8Array = new Uint8Array([0]);
  let token: Uint8Array = new Uint8Array([0]);
6047 6048
  try {
    userIDM.delCred(credentialId, token, {
6049
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
6050 6051 6052 6053 6054 6055 6056
          console.log('delCred result = ' + result);
          console.log('delCred extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('delCred exception = ' + JSON.stringify(e));
  }
6057 6058 6059 6060
  ```

### getAuthInfo<sup>8+</sup>

6061
getAuthInfo(callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;
6062

J
jidong 已提交
6063
获取认证信息。使用callback异步回调。
6064

J
jidong 已提交
6065
**系统接口:** 此接口为系统接口。
6066 6067 6068

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

6069
**需要权限:** ohos.permission.USE_USER_IDM
6070 6071 6072

**参数:**

J
jidong 已提交
6073 6074
| 参数名    | 类型                                                                     | 必填 | 说明                                                 |
| -------- | ------------------------------------------------------------------------ | ---- | --------------------------------------------- |
J
jidong 已提交
6075
| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数。如果成功,err为null,data为当前用户的所有已注册凭据信息;否则为错误对象。|
6076

J
jidong 已提交
6077 6078 6079 6080 6081
**错误码:**

| 错误码ID | 错误信息               |
| -------- | --------------------- |
| 12300001 | System service exception. |
6082
| 12300102 | Credential not enrolled. |
6083

6084
**示例:**
6085
  ```ts
6086
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6087
  let userIDM = new account_osAccount.UserIdentityManager();
6088
  try {
6089
    userIDM.getAuthInfo((err: BusinessError, result: account_osAccount.EnrolledCredInfo[]) => {
6090 6091 6092 6093 6094 6095
      console.log('getAuthInfo err = ' + JSON.stringify(err));
      console.log('getAuthInfo result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6096 6097 6098 6099 6100 6101
  ```

### getAuthInfo<sup>8+</sup>

getAuthInfo(authType: AuthType, callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;

J
jidong 已提交
6102
获取指定类型的认证信息。使用callback异步回调。
6103

J
jidong 已提交
6104
**系统接口:** 此接口为系统接口。
6105 6106 6107

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

6108
**需要权限:** ohos.permission.USE_USER_IDM
6109 6110 6111 6112 6113 6114

**参数:**

| 参数名    | 类型                                               | 必填 | 说明                                                |
| -------- | -------------------------------------------------- | ---- | -------------------------------------------------- |
| authType | [AuthType](#authtype8) | 是   | 认证类型。                                          |
J
jidong 已提交
6115 6116 6117 6118 6119
| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数,如果获取成功,err为null,data为当前用户指定类型的所有已注册凭据信息;否则为错误对象。 |

**错误码:**

| 错误码ID | 错误信息               |
J
jidong 已提交
6120 6121 6122
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType. |
6123
| 12300102 | Credential not enrolled. |
6124

6125
**示例:**
6126
  ```ts
6127
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6128
  let userIDM = new account_osAccount.UserIdentityManager();
6129
  try {
6130 6131
    userIDM.getAuthInfo(account_osAccount.AuthType.PIN,
      (err: BusinessError, result: account_osAccount.EnrolledCredInfo[]) => {
6132 6133 6134 6135 6136 6137
      console.log('getAuthInfo err = ' + JSON.stringify(err));
      console.log('getAuthInfo result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6138 6139 6140 6141 6142 6143
  ```

### getAuthInfo<sup>8+</sup>

getAuthInfo(authType?: AuthType): Promise&lt;Array&lt;EnrolledCredInfo&gt;&gt;;

J
jidong 已提交
6144
获取认证信息。使用Promise异步回调。
6145

J
jidong 已提交
6146
**系统接口:** 此接口为系统接口。
6147 6148 6149

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

6150
**需要权限:** ohos.permission.USE_USER_IDM
6151 6152 6153 6154 6155

**参数:**

| 参数名    | 类型                                | 必填 | 说明      |
| -------- | ----------------------------------- | ---- | -------- |
6156
| authType | [AuthType](#authtype8)              | 否   | 认证类型,默认为空,表示查询所有认证类型的信息。|
6157 6158 6159

**返回值:**

J
jidong 已提交
6160
| 类型                                         | 说明                                                                     |
J
jidong 已提交
6161
| :------------------------------------------- | :----------------------------------------------------------------------- |
J
jidong 已提交
6162 6163 6164 6165 6166
| Promise&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | Promise对象,返回当前用户指定类型的所有已注册凭据信息。|

**错误码:**

| 错误码ID | 错误信息               |
J
jidong 已提交
6167 6168 6169
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType. |
6170
| 12300102 | Credential not enrolled. |
6171

6172
**示例:**
6173
  ```ts
6174
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6175
  let userIDM = new account_osAccount.UserIdentityManager();
6176
  try {
6177
    userIDM.getAuthInfo(account_osAccount.AuthType.PIN).then((result: account_osAccount.EnrolledCredInfo[]) => {
6178
      console.log('getAuthInfo result = ' + JSON.stringify(result))
6179
    }).catch((err: BusinessError) => {
6180 6181 6182 6183 6184
      console.log('getAuthInfo error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6185 6186 6187 6188 6189 6190
  ```

## IInputData<sup>8+</sup>

密码数据回调。

J
jidong 已提交
6191
**系统接口:** 此接口为系统接口。
6192

6193 6194
### onSetData<sup>8+</sup>

W
wangyihui 已提交
6195
onSetData: (authSubType: AuthSubType, data: Uint8Array) => void;
6196

J
jidong 已提交
6197
**系统接口:** 此接口为系统接口。
6198

6199 6200 6201 6202 6203 6204 6205 6206
通知设置数据。

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

**参数:**

| 参数名      | 类型                                     | 必填 | 说明                                            |
| ---------- | ---------------------------------------- | ---- | ----------------------------------------------- |
W
wangyihui 已提交
6207
| authSubType | [AuthSubType](#authsubtype8)             | 是   | 用于认证的凭据子类型。                            |
6208 6209
| data       | Uint8Array                               | 是   | 要设置的数据是凭据,用来在认证、添加、修改凭据操作。 |

C
chennian 已提交
6210 6211 6212 6213 6214 6215
**错误码:**

| 错误码ID | 错误信息               |
| -------- | ------------------- |
| 12300002 | Invalid pinSubType. |

6216
**示例:**
6217
  ```ts
6218 6219
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]);
C
cclicn 已提交
6220
  let inputer: account_osAccount.IInputer = {
6221
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
6222 6223
        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
          callback.onSetData(authSubType, passwordNumber);
J
jidong 已提交
6224
        } else {
W
wangyihui 已提交
6225
          callback.onSetData(authSubType, password);
J
jidong 已提交
6226 6227 6228
        }
    }
  };
6229 6230 6231 6232
  ```

## IInputer<sup>8+</sup>

W
wangyihui 已提交
6233
凭据输入器回调。
6234

J
jidong 已提交
6235
**系统接口:** 此接口为系统接口。
6236

6237 6238
### onGetData<sup>8+</sup>

W
wangyihui 已提交
6239
onGetData: (authSubType: AuthSubType, callback: IInputData) => void;
6240 6241 6242

通知获取数据。

J
jidong 已提交
6243
**系统接口:** 此接口为系统接口。
6244

6245 6246 6247 6248 6249 6250
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
6251
| callback   | [IInputData](#iinputdata8)  | 是   | 指示密码数据回调。|
6252

6253
**示例:**
6254
  ```ts
6255 6256
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]);
C
cclicn 已提交
6257
  let inputer: account_osAccount.IInputer = {
6258
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
6259 6260
        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
          callback.onSetData(authSubType, passwordNumber);
J
jidong 已提交
6261
        } else {
W
wangyihui 已提交
6262
          callback.onSetData(authSubType, password);
J
jidong 已提交
6263 6264 6265
        }
    }
  };
6266
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
6267
  let result = pinAuth.registerInputer(inputer);
F
fanchenxuan 已提交
6268
  console.log('registerInputer result: ' + result);
6269 6270 6271 6272
  ```

## IUserAuthCallback<sup>8+</sup>

J
jidong 已提交
6273
表示用户认证回调类。
6274

J
jidong 已提交
6275
**系统接口:** 此接口为系统接口。
6276

6277 6278 6279 6280
### onResult<sup>8+</sup>

onResult: (result: number, extraInfo: AuthResult) => void;

J
jidong 已提交
6281
身份认证结果回调函数,返回结果码和认证结果信息。
6282

J
jidong 已提交
6283
**系统接口:** 此接口为系统接口。
6284

6285 6286 6287 6288 6289 6290 6291
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名     | 类型                                    | 必填 | 说明                 |
| --------- | --------------------------------------- | ---- | ------------------- |
| result    | number                                   | 是   | 表示身份认证结果代码。|
6292
| extraInfo | [AuthResult](#authresult8)  | 是   | 表示不同情况下的具体信息,如果认证通过,则在extrainfo中返回认证令牌,如果身份验证失败,则在extrainfo中返回剩余的身份验证时间,如果身份验证执行器被锁定,冻结时间将在extrainfo中返回。|
6293

6294
**示例:**
6295
  ```ts
C
cclicn 已提交
6296 6297
  let authCallback: account_osAccount.IUserAuthCallback = {
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
6298 6299
      console.log('auth result = ' + result);
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6300 6301
    }
  };
6302 6303 6304 6305 6306 6307
  ```

### onAcquireInfo?<sup>8+</sup>

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

J
jidong 已提交
6308
身份认证信息获取回调函数。
6309

J
jidong 已提交
6310
**系统接口:** 此接口为系统接口。
6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321

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

**参数:**

| 参数名    | 类型     | 必填 | 说明                           |
| --------- | ------- | ---- | ----------------------------- |
| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
| extraInfo | any     | 是   | 保留参数。                     |

6322
**示例:**
6323
  ```ts
C
cclicn 已提交
6324 6325
  let authCallback: account_osAccount.IUserAuthCallback = {
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
6326 6327
      console.log('auth result = ' + result)
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6328
    },
6329
    onAcquireInfo: (module: number, acquire: number, extraInfo: account_osAccount.RequestResult) => {
F
fanchenxuan 已提交
6330 6331
      console.log('auth module = ' + module);
      console.log('auth acquire = ' + acquire);
J
jidong 已提交
6332 6333 6334
      console.info('auth extraInfo = ' + JSON.stringify(extraInfo));
    }
  };
6335 6336 6337 6338
  ```

## IIdmCallback<sup>8+</sup>

J
jidong 已提交
6339
表示身份管理回调类。
6340

J
jidong 已提交
6341
**系统接口:** 此接口为系统接口。
6342

6343 6344
### onResult<sup>8+</sup>

6345
onResult: (result: number, extraInfo: RequestResult) => void;
6346

J
jidong 已提交
6347
身份管理操作结果回调函数,返回结果码和请求结果信息。
6348

J
jidong 已提交
6349
**系统接口:** 此接口为系统接口。
6350 6351 6352 6353 6354 6355 6356 6357

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

**参数:**

| 参数名     | 类型                                    | 必填 | 说明                     |
| --------- | --------------------------------------- | ---- | ----------------------- |
| result    | number                                  | 是   | 表示身份认证结果代码。    |
6358
| extraInfo | [RequestResult](#requestresult8)  | 是   | 针对不同情况传递具体信息。|
6359

6360
**示例:**
6361
  ```ts
C
cclicn 已提交
6362
  let idmCallback: account_osAccount.IIdmCallback = {
6363
    onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
F
fanchenxuan 已提交
6364
      console.log('callback result = ' + result)
J
jidong 已提交
6365 6366 6367
      console.info('callback extraInfo = ' + JSON.stringify(extraInfo));
    }
  };
6368 6369 6370 6371 6372 6373
  ```

### onAcquireInfo?<sup>8+</sup>

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

J
jidong 已提交
6374
身份管理信息获取回调函数。
6375

J
jidong 已提交
6376
**系统接口:** 此接口为系统接口。
6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387

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

**参数:**

| 参数名    | 类型     | 必填 | 说明                           |
| --------- | ------- | ---- | ----------------------------- |
| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
| extraInfo | any     | 是   | 保留参数。                     |

6388
**示例:**
6389
  ```ts
C
cclicn 已提交
6390
  let idmCallback: account_osAccount.IIdmCallback = {
6391
    onResult: (result: number, extraInfo: Object) => {
F
fanchenxuan 已提交
6392 6393
      console.log('callback result = ' + result)
      console.log('callback onResult = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6394
    },
6395
    onAcquireInfo: (module: number, acquire: number, extraInfo: Object) => {
F
fanchenxuan 已提交
6396 6397
      console.log('callback module = ' + module);
      console.log('callback acquire = ' + acquire);
J
jidong 已提交
6398 6399 6400
      console.log('callback onacquireinfo = ' + JSON.stringify(extraInfo));
    }
  };
6401 6402 6403 6404 6405 6406
  ```

## GetPropertyRequest<sup>8+</sup>

提供获取属性请求的信息。

J
jidong 已提交
6407
**系统接口:** 此接口为系统接口。
6408

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

6411
| 名称    | 类型                                                          | 必填   | 说明                   |
6412
| -------- | ------------------------------------------------------------- | ----- | ----------------------- |
6413 6414
| authType | [AuthType](#authtype8)                            | 是    | 身份验证凭据类型。        |
| keys     | Array&lt;[GetPropertyType](#getpropertytype8)&gt; | 是    | 指示要获取的属性类型数组。 |
6415 6416 6417 6418 6419

## SetPropertyRequest<sup>8+</sup>

提供设置属性请求的信息。

J
jidong 已提交
6420
**系统接口:** 此接口为系统接口。
6421

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

6424
| 名称    | 类型                                             | 必填   | 说明                 |
6425
| -------- | ------------------------------------------------ | ----- | -------------------- |
6426 6427
| authType | [AuthType](#authtype8)               | 是    | 身份验证凭据类型。     |
| key     | [SetPropertyType](#setpropertytype8) | 是    | 指示要设置的属性类型。 |
6428 6429 6430 6431 6432 6433
| setInfo  | Uint8Array                                       | 是    | 指示要设置的信息。     |

## ExecutorProperty<sup>8+</sup>

提供执行器的属性。

J
jidong 已提交
6434
**系统接口:** 此接口为系统接口。
6435

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

6438 6439 6440 6441 6442 6443 6444 6445
| 名称         | 类型                         |  可读 | 可写 | 说明              |
| ------------ | ---------------------------- | ----- | -----|----------------- |
| result       | number                       | 是    | 是   | 指示结果。         |
| authSubType  | [AuthSubType](#authsubtype8) | 是    | 是   | 指示认证凭据子类型。|
| remainTimes  | number                       | 是    | 是   | 指示剩余次数。     |
| freezingTime | number                       | 是    | 是   | 指示冻结时间。     |
| enrollmentProgress<sup>10+</sup> | string   | 是    | 是   | 指示录入进度,默认为空。 |
| sensorInfo<sup>10+</sup> | string           | 是    | 是   | 指示传感器信息,默认为空。 |
6446 6447 6448

## AuthResult<sup>8+</sup>

J
jidong 已提交
6449
表示认证结果的信息。
6450

J
jidong 已提交
6451
**系统接口:** 此接口为系统接口。
6452

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

6455
| 名称        | 类型        | 必填   | 说明              |
6456
| ------------ | ----------- | ----- | ----------------- |
6457 6458 6459
| token        | Uint8Array  | 否    | 指示认证令牌,默认为空。      |
| remainTimes  | number      | 否    | 指示剩余次数,默认为空。      |
| freezingTime | number      | 否    | 指示冻结时间,默认为空。      |
6460 6461 6462

## CredentialInfo<sup>8+</sup>

J
jidong 已提交
6463
表示凭证信息。
6464

J
jidong 已提交
6465
**系统接口:** 此接口为系统接口。
6466

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

6469
| 名称        | 类型                                     | 必填   | 说明              |
6470
| ------------ | ---------------------------------------- | ----- | ----------------- |
6471 6472
| credType     | [AuthType](#authtype8)       | 是    | 指示凭据类型。     |
| credSubType  | [AuthSubType](#authsubtype8) | 是    | 指示凭据子类型。   |
J
jidong 已提交
6473
| token        | Uint8Array                           | 是    | 指示认证令牌。     |
6474 6475 6476

## RequestResult<sup>8+</sup>

J
jidong 已提交
6477
表示请求结果的信息。
6478

J
jidong 已提交
6479
**系统接口:** 此接口为系统接口。
6480

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

6483
| 名称        | 类型        | 必填   | 说明              |
6484
| ------------ | ----------- | ----- | ----------------- |
6485
| credentialId | Uint8Array  | 否    | 指示凭据索引,默认为空。      |
6486 6487 6488

## EnrolledCredInfo<sup>8+</sup>

J
jidong 已提交
6489
表示已注册凭据的信息。
6490

J
jidong 已提交
6491
**系统接口:** 此接口为系统接口。
6492

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

6495
| 名称        | 类型                                     | 必填   | 说明              |
6496 6497
| ------------ | ---------------------------------------- | ----- | ------------------- |
| credentialId | Uint8Array                               | 是    | 指示凭据索引。       |
6498 6499
| authType     | [AuthType](#authtype8)       | 是    | 指示认证凭据类型。   |
| authSubType  | [AuthSubType](#authsubtype8) | 是    | 指示认证凭据子类型。 |
6500 6501 6502 6503
| templateId   | Uint8Array                               | 是    | 指示凭据模板ID。     |

## GetPropertyType<sup>8+</sup>

J
jidong 已提交
6504
表示要获取的属性类型的枚举。
6505

J
jidong 已提交
6506
**系统接口:** 此接口为系统接口。
6507

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

6510
| 名称           | 值 | 说明      |
6511 6512 6513 6514
| ------------- | ------ | --------- |
| AUTH_SUB_TYPE | 1      | 认证子类型。 |
| REMAIN_TIMES  | 2      | 剩余时间。   |
| FREEZING_TIME | 3      | 冻结时间。   |
6515 6516
| ENROLLMENT_PROGRESS<sup>10+</sup> | 4      | 录入进度。   |
| SENSOR_INFO<sup>10+</sup> | 5      | 传感器信息。   |
6517 6518 6519

## SetPropertyType<sup>8+</sup>

J
jidong 已提交
6520
表示要设置的属性类型的枚举。
6521

J
jidong 已提交
6522
**系统接口:** 此接口为系统接口。
6523

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

6526
| 名称           | 值 | 说明        |
6527 6528 6529 6530 6531
| -------------- | ----- | ----------- |
| INIT_ALGORITHM | 1     | 初始化算法。 |

## AuthType<sup>8+</sup>

J
jidong 已提交
6532
表示身份验证的凭据类型的枚举。
6533

J
jidong 已提交
6534
**系统接口:** 此接口为系统接口。
6535

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

6538
| 名称  | 值 | 说明             |
6539
| ----- | ----- | ---------------- |
W
wangyihui 已提交
6540 6541 6542
| PIN   | 1     | 表示PIN认证类型。 |
| FACE  | 2     | 表示脸部认证类型。|
| FINGERPRINT<sup>10+</sup>   | 4     | 表示指纹认证类型。 |
Z
zhouyan 已提交
6543
| DOMAIN<sup>9+</sup>  | 1024     | 表示域认证类型。|
6544 6545 6546

## AuthSubType<sup>8+</sup>

J
jidong 已提交
6547
表示用于认证的凭据子类型的枚举。
6548

J
jidong 已提交
6549
**系统接口:** 此接口为系统接口。
6550

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

6553
| 名称       | 值 | 说明               |
6554 6555 6556 6557
| ---------- | ----- | ------------------ |
| PIN_SIX    | 10000 | 表示6位凭证。       |
| PIN_NUMBER | 10001 | 表示自定义数字凭证。 |
| PIN_MIXED  | 10002 | 表示自定义混合凭据。 |
W
wangyihui 已提交
6558 6559
| FACE_2D    | 20000 | 表示2D 人脸凭证。   |
| FACE_3D    | 20001 | 表示3D 人脸凭证。   |
6560 6561 6562
| FINGERPRINT_CAPACITIVE<sup>10+</sup>    | 30000 | 表示电容式指纹。   |
| FINGERPRINT_OPTICAL<sup>10+</sup>    | 30001 | 表示光学指纹。   |
| FINGERPRINT_ULTRASONIC<sup>10+</sup>    | 30002 | 表示超声波指纹。   |
Z
zhouyan 已提交
6563
| DOMAIN_MIXED<sup>9+</sup>    | 10240001 | 表示域认证混合凭证。   |
6564 6565 6566

## AuthTrustLevel<sup>8+</sup>

J
jidong 已提交
6567
表示认证结果的受信任级别的枚举。
6568

J
jidong 已提交
6569
**系统接口:** 此接口为系统接口。
6570

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

6573
| 名称  | 值 | 说明        |
6574 6575 6576 6577 6578 6579 6580 6581
| ---- | ------ | ----------- |
| ATL1 | 10000  | 信任级别 1。 |
| ATL2 | 20000  | 信任级别 2。 |
| ATL3 | 30000  | 信任级别 3。 |
| ATL4 | 40000  | 信任级别 4。 |

## Module<sup>8+</sup>

J
jidong 已提交
6582
表示获取信息的模块的枚举。
6583

J
jidong 已提交
6584
**系统接口:** 此接口为系统接口。
6585

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

6588
| 名称       | 值 | 说明                     |
6589 6590 6591 6592 6593
| --------- | ------ | ------------------------ |
| FACE_AUTH | 1      | 表示从人脸认证获取的信息。 |

## ResultCode<sup>8+</sup>

J
jidong 已提交
6594
表示身份验证结果码。
6595

J
jidong 已提交
6596
**系统接口:** 此接口为系统接口。
6597

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

6600
| 名称                    | 值 | 说明                                     |
6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615
| ----------------------- | ----- | ---------------------------------------- |
| SUCCESS                 | 0     | 表示身份验证成功或支持此功能。             |
| FAIL                    | 1     | 表示验证器无法识别用户。                   |
| GENERAL_ERROR           | 2     | 表示其他错误。                            |
| CANCELED                | 3     | 表示身份验证已取消。                       |
| TIMEOUT                 | 4     | 表示身份验证已超时。                       |
| TYPE_NOT_SUPPORT        | 5     | 表示不支持此身份验证类型。                 |
| TRUST_LEVEL_NOT_SUPPORT | 6     | 表示不支持身份验证信任级别。               |
| BUSY                    | 7     | 表示身份验证任务正忙。等待几秒钟,然后重试。 |
| INVALID_PARAMETERS      | 8     | 表示参数不正确。                          |
| LOCKED                  | 9     | 指示身份验证器已锁定。                     |
| NOT_ENROLLED            | 10    | 表示用户尚未注册验证器。                   |

## FaceTipsCode<sup>8+</sup>

J
jidong 已提交
6616
表示人脸验证过程中提示的枚举。
6617

J
jidong 已提交
6618
**系统接口:** 此接口为系统接口。
6619

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

6622
| 名称                          | 值 | 说明                                     |
6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635
| ----------------------------- | ----- | ---------------------------------------- |
| FACE_AUTH_TIP_TOO_BRIGHT      | 1     | 表示由于高照明,获得的面部图像太亮。         |
| FACE_AUTH_TIP_TOO_DARK        | 2     | 表示由于照明度低,获得的面部图像太暗。       |
| FACE_AUTH_TIP_TOO_CLOSE       | 3     | 表示面部离设备太近。                       |
| FACE_AUTH_TIP_TOO_FAR         | 4     | 表示面部离设备太远。                       |
| FACE_AUTH_TIP_TOO_HIGH        | 5     | 表示设备太高,仅捕捉面部上部。              |
| FACE_AUTH_TIP_TOO_LOW         | 6     | 表示设备太低,仅捕捉面部下部。              |
| FACE_AUTH_TIP_TOO_RIGHT       | 7     | 指示设备向右偏移,并且仅捕捉面部的右侧部分。 |
| FACE_AUTH_TIP_TOO_LEFT        | 8     | 指示设备向左偏移,并且仅捕捉面部的左侧部分。 |
| FACE_AUTH_TIP_TOO_MUCH_MOTION | 9     | 表示面部信息收集过程中面部移动过快。         |
| FACE_AUTH_TIP_POOR_GAZE       | 10    | 表示面未朝向设备。                         |
| FACE_AUTH_TIP_NOT_DETECTED    | 11    | 表示未检测到人脸。                         |

Z
zengyawen 已提交
6636
## FingerprintTips<sup>8+</sup>
6637

J
jidong 已提交
6638
表示指纹身份验证过程中提示的枚举。
6639

J
jidong 已提交
6640
**系统接口:** 此接口为系统接口。
6641

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

6644
| 名称                          | 值 | 说明                                            |
6645
| ----------------------------- | ----- | ----------------------------------------------- |
6646
| FINGERPRINT_TIP_GOOD          | 0     | 表示采集的图像良好。                              |
6647 6648
| FINGERPRINT_TIP_IMAGER_DIRTY  | 1     | 表示由于传感器上可疑或检测到污垢,指纹图像噪声过大。 |
| FINGERPRINT_TIP_INSUFFICIENT  | 2     | 表示由于检测到的情况,指纹图像噪声太大,无法处理。   |
6649
| FINGERPRINT_TIP_PARTIAL       | 3     | 表示仅检测到部分指纹图像。                         |
6650 6651
| FINGERPRINT_TIP_TOO_FAST      | 4     | 表示指纹图像由于快速运动而不完整。                  |
| FINGERPRINT_TIP_TOO_SLOW      | 5     | 表示由于缺少运动,指纹图像无法读取。                |
C
cclicn 已提交
6652 6653
| FINGERPRINT_TIP_FINGER_DOWN<sup>10+</sup>   | 6     | 表示手指落下。                  |
| FINGERPRINT_TIP_FINGER_UP<sup>10+</sup>     | 7     | 表示手指抬起。                |
6654

Z
zhangalong 已提交
6655
## OsAccountInfo
Z
zengyawen 已提交
6656

J
jidong 已提交
6657
表示系统帐号信息。
Z
zengyawen 已提交
6658 6659 6660

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

6661
| 名称                         | 类型                                                         | 必填 | 说明                              |
Z
zengyawen 已提交
6662 6663 6664
| ------------------------------ | ------------------------------------------------------------ | ---- | --------------------------------- |
| localId                        | number                                                       | 是   | 系统帐号ID。                      |
| localName                      | string                                                       | 是   | 系统帐号名称。                    |
6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675
| 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](#domainaccountinfo8)                      | 否   | 域帐号信息,默认为空。                        |
Z
zengyawen 已提交
6676 6677

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

J
jidong 已提交
6679
表示域帐号信息。
Z
zengyawen 已提交
6680 6681 6682

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

6683
| 名称      | 类型   | 必填 | 说明       |
Z
zengyawen 已提交
6684 6685 6686
| ----------- | ------ | ---- | ---------- |
| domain      | string | 是   | 域名。     |
| accountName | string | 是   | 域帐号名。 |
6687
| accountId<sup>10+</sup> | string | 否   | 域帐号标识。<br>**系统接口:** 此接口为系统接口,默认为空。 |
Z
zhangalong 已提交
6688 6689 6690

## 系统帐号约束列表

Z
zengyawen 已提交
6691 6692
| 约束                                  | 说明                           |
| ------------------------------------- | ------------------------------ |
Z
zengyawen 已提交
6693 6694
| constraint.wifi                       | 禁止使用Wi-Fi                  |
| constraint.wifi.set                   | 禁止配置Wi-Fi                  |
Z
zengyawen 已提交
6695 6696 6697 6698 6699 6700
| constraint.locale.set                 | 禁止配置设备语言               |
| constraint.app.accounts               | 禁止添加和删除应用帐号         |
| constraint.apps.install               | 禁止安装应用                   |
| constraint.apps.uninstall             | 禁止卸载应用                   |
| constraint.location.shared            | 禁止打开位置共享               |
| constraint.unknown.sources.install    | 禁止安装未知来源的应用         |
Z
zhangalong 已提交
6701
| constraint.global.unknown.app.install | 禁止所有用户安装未知来源的应用 |
Z
zengyawen 已提交
6702 6703
| constraint.bluetooth.set              | 禁止配置蓝牙                   |
| constraint.bluetooth | 禁止使用蓝牙 |
Z
zhangalong 已提交
6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722
| 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 已提交
6723 6724
| constraint.microphone.unmute | 禁止取消麦克风静音 |
| constraint.volume.adjust | 禁止调整音量 |
Z
zhangalong 已提交
6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741
| 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 已提交
6742
| constraint.device.unmute | 禁止取消设备静音 |
Z
zhangalong 已提交
6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754
| 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 | 禁止打印 |
6755 6756 6757 6758
| constraint.private.dns.set | 禁止配置专用DNS |

## ConstraintSourceTypeInfo<sup>9+</sup>

J
jidong 已提交
6759
表示约束来源类型信息。
6760

J
jidong 已提交
6761
**系统接口:** 此接口为系统接口。
J
jidong 已提交
6762

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

6765
| 名称      | 类型   | 必填 | 说明       |
6766 6767 6768 6769 6770 6771
| ----------- | ------ | ---- | ---------- |
| localId      | number | 是   | 系统帐号ID     |
| type | [ConstraintSourceType](#constraintsourcetype) | 是   | 约束来源类型 |

## ConstraintSourceType<sup>9+</sup>

J
jidong 已提交
6772
表示约束来源类型的枚举。
6773

J
jidong 已提交
6774
**系统接口:** 此接口为系统接口。
J
jidong 已提交
6775

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

6778
| 名称   | 值 | 说明         |
6779 6780 6781 6782
| ------ | ------ | ------------ |
| CONSTRAINT_NOT_EXIST  | 0      | 约束不存在 |
| CONSTRAINT_TYPE_BASE | 1      | 约束源自系统设置   |
| CONSTRAINT_TYPE_DEVICE_OWNER  | 2   | 约束源自设备所有者设置   |
J
jidong 已提交
6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796
| CONSTRAINT_TYPE_PROFILE_OWNER  | 3  | 约束源自资料所有者设置   |

## AuthStatusInfo<sup>10+</sup>

表示认证状态信息。

**系统接口:** 此接口为系统接口。

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| remainTimes  | number | 是   | 剩余次数   |
| freezingTime | number | 是   | 冻结时间 |
J
jidong 已提交
6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811

## GetDomainAccessTokenOptions<sup>10+</sup>

表示获取域访问令牌的选项。

**系统接口:** 此接口为系统接口。

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| domainAccountInfo  | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号的信息   |
| domainAccountToken | Uint8Array | 是   | 域帐号的令牌 |
| businessParams | { [key: string]: object } | 是   | 业务参数,由业务方根据请求协议自定义 |
| callerUid | number | 是   | 调用方唯一标识符 |
6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836

## GetDomainAccountInfoOptions<sup>10+</sup>

表示查询域帐号信息的选项。

**系统接口:** 此接口为系统接口。

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| accountName | string | 是   | 域帐号名。 |
| domain      | string | 否   | 域名。     |

## GetDomainAccountInfoPluginOptions<sup>10+</sup>

表示插件查询域帐号信息的选项。GetDomainAccountInfoPluginOptions类继承[GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)

**系统接口:** 此接口为系统接口。

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| callerUid | number | 是   | 调用方唯一标识符 |