js-apis-osAccount.md 255.2 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开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

Z
zhangalong 已提交
12
```js
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
**示例:**
Z
zhangalong 已提交
31
  ```js
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的系统帐号
Z
zhangalong 已提交
81
  ```js
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) {
93
    console.error(`activateOsAccount failed, code is ${err.code}, message is ${err.message}`);
94
  }
Z
zhangalong 已提交
95 96 97 98 99 100
  ```

### activateOsAccount

activateOsAccount(localId: number): Promise<void>

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

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

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

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

Z
zengyawen 已提交
109
**参数:**
Z
zhangalong 已提交
110

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

Z
zengyawen 已提交
115
**返回值:**
Z
zhangalong 已提交
116

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

**错误码:**

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

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

J
jidong 已提交
147
### checkMultiOsAccountEnabled<sup>9+</sup>
148

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

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

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

**参数:**

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

J
jidong 已提交
161 162 163 164 165 166
**错误码:**

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

167 168 169
**示例:**

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

J
jidong 已提交
185
### checkMultiOsAccountEnabled<sup>9+</sup>
186

J
jidong 已提交
187
checkMultiOsAccountEnabled(): Promise&lt;boolean&gt;
188

J
jidong 已提交
189
判断是否支持多系统帐号。使用Promise异步回调。
190 191 192 193 194

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

**返回值:**

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

J
jidong 已提交
199 200 201 202 203 204
**错误码:**

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

205 206 207
**示例:**

  ```js
208
  import { BusinessError } from '@ohos.base';
209 210
  try {
    let accountManager = account_osAccount.getAccountManager();
211
    accountManager.checkMultiOsAccountEnabled().then((isEnabled: boolean) => {
J
jidong 已提交
212
      console.log('checkMultiOsAccountEnabled successfully, isEnabled: ' + isEnabled);
213
    }).catch((err: BusinessError) => {
214
      console.error(`checkMultiOsAccountEnabled failed, code is ${err.code}, message is ${err.message}`);
215
    });
J
jidong 已提交
216
  } catch (err) {
217
    console.error(`checkMultiOsAccountEnabled failed, code is ${err.code}, message is ${err.message}`);
218 219 220
  }
  ```

J
jidong 已提交
221
### checkOsAccountActivated<sup>9+</sup>
Z
zhangalong 已提交
222

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

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

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

Z
zengyawen 已提交
229 230 231
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
238 239 240 241
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
242
| 12300001 | System service exception. |
J
jidong 已提交
243
| 12300002 | Invalid localId.    |
J
jidong 已提交
244
| 12300003 | Account not found. |
J
jidong 已提交
245 246

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

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

J
jidong 已提交
265
### checkOsAccountActivated<sup>9+</sup>
Z
zhangalong 已提交
266

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

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

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

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

J
jidong 已提交
275 276 277 278 279 280
**参数:**

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

Z
zengyawen 已提交
281
**返回值:**
Z
zhangalong 已提交
282

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

J
jidong 已提交
287 288 289 290
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
291
| 12300001 | System service exception. |
J
jidong 已提交
292
| 12300002 | Invalid localId.    |
J
jidong 已提交
293
| 12300003 | Account not found. |
J
jidong 已提交
294 295

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

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

C
cclicn 已提交
312
### checkOsAccountConstraintEnabled<sup>9+</sup>
313

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

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

C
cclicn 已提交
318
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
319 320 321 322 323

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

**参数:**

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

J
jidong 已提交
330 331 332 333
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
334 335 336
| 12300001 | System service exception. |
| 12300002 | Invalid localId or constraint.    |
| 12300003 | Account not found. |
J
jidong 已提交
337 338

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

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

C
cclicn 已提交
358
### checkOsAccountConstraintEnabled<sup>9+</sup>
359

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

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

C
cclicn 已提交
364
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
365 366 367 368 369

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

**参数:**

J
jidong 已提交
370 371 372 373
| 参数名     | 类型   | 必填 | 说明                                |
| ---------- | ------ | ---- | ---------------------------------- |
| localId    | number | 是   | 系统帐号ID。  |
| constraint | string | 是   | 指定的[约束](#系统帐号约束列表)名称。 |
374 375 376

**返回值:**

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

J
jidong 已提交
381 382 383 384
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
385 386 387
| 12300001 | System service exception. |
| 12300002 | Invalid localId or constraint.    |
| 12300003 | Account not found. |
J
jidong 已提交
388 389

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

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

J
jidong 已提交
407
### checkOsAccountTestable<sup>9+</sup>
Z
zhangalong 已提交
408

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

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

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

Z
zengyawen 已提交
415
**参数:**
Z
zhangalong 已提交
416

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

J
jidong 已提交
421 422 423 424
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
425
| 12300001 | System service exception. |
J
jidong 已提交
426 427

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

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

J
jidong 已提交
445
### checkOsAccountTestable<sup>9+</sup>
Z
zhangalong 已提交
446

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

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

J
jidong 已提交
451 452 453 454 455 456 457 458 459 460 461 462
**系统能力:** SystemCapability.Account.OsAccount

**返回值:**

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

**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
463
| 12300001 | System service exception. |
J
jidong 已提交
464 465 466 467

**示例:**

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

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

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

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

Z
zengyawen 已提交
487 488 489
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
495
**错误码:**
Z
zhangalong 已提交
496

J
jidong 已提交
497 498
| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
499
| 12300001 | System service exception. |
Z
zhangalong 已提交
500

J
jidong 已提交
501
**示例:**
Z
zhangalong 已提交
502

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

J
jidong 已提交
519
### checkOsAccountVerified<sup>9+</sup>
520

J
jidong 已提交
521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
checkOsAccountVerified(): Promise&lt;boolean&gt;

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

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

**返回值:**

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

**错误码:**

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

**示例:**

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

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

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

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

J
jidong 已提交
561
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
562 563 564 565 566

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

**参数:**

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

J
jidong 已提交
572 573 574 575
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
576 577 578
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
579 580

**示例:**
581 582

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

J
jidong 已提交
599
### checkOsAccountVerified<sup>9+</sup>
600

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

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

J
jidong 已提交
605
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
606 607 608 609 610

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

**参数:**

J
jidong 已提交
611 612
| 参数名  | 类型   | 必填 | 说明                                                              |
| ------- | ------ | ---- | --------------------------------------------------------------- |
Z
zhouyan 已提交
613
| localId | number | 是   | 系统帐号ID。不填则检查当前系统帐号是否已验证。 |
614 615 616

**返回值:**

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

J
jidong 已提交
621 622 623 624
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
625 626 627
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
628 629

**示例:**
630 631

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

646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668
### 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. |

**示例:**

  ```js
669
  import { BusinessError } from '@ohos.base';
670 671
  let accountManager = account_osAccount.getAccountManager();
  try {
672
    accountManager.checkOsAccountVerified().then((isVerified: boolean) => {
673
      console.log('checkOsAccountVerified successfully, isVerified: ' + isVerified);
674
    }).catch((err: BusinessError) => {
675 676 677 678 679 680 681
      console.log('checkOsAccountVerified failed, error: ' + JSON.stringify(err));
    });
  } catch (err) {
    console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
682
### removeOsAccount
Z
zhangalong 已提交
683

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

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

J
jidong 已提交
688
**系统接口:** 此接口为系统接口。
689

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

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

Z
zengyawen 已提交
694 695
**参数:**

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

J
jidong 已提交
701 702 703 704
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
705
| 12300001 | System service exception. |
J
jidong 已提交
706
| 12300002 | Invalid localId.    |
J
jidong 已提交
707 708
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
709 710

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

Z
zhangalong 已提交
712
  ```js
713
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
714
  let accountManager = account_osAccount.getAccountManager();
715
  let accountName: string = 'testAccountName';
J
jidong 已提交
716
  try {
717 718 719 720 721 722 723 724
    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 已提交
725 726 727
      });
    });
  } catch (err) {
C
chennian 已提交
728
    console.log('removeOsAccount exception: ' + JSON.stringify(err));
J
jidong 已提交
729
  }
Z
zhangalong 已提交
730 731
  ```

J
jidong 已提交
732
### removeOsAccount
Z
zhangalong 已提交
733

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

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

J
jidong 已提交
738
**系统接口:** 此接口为系统接口。
739

Z
zengyawen 已提交
740 741 742
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

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

Z
zengyawen 已提交
744
**参数:**
Z
zhangalong 已提交
745

J
jidong 已提交
746 747 748
| 参数名  | 类型   | 必填 | 说明                               |
| ------- | ------ | ---- | --------------------------------- |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
749

Z
zengyawen 已提交
750
**返回值:**
Z
zhangalong 已提交
751

J
jidong 已提交
752 753
| 类型                | 说明                                  |
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
754
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
Z
zhangalong 已提交
755

J
jidong 已提交
756 757 758 759
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
760
| 12300001 | System service exception. |
J
jidong 已提交
761
| 12300002 | Invalid localId.    |
J
jidong 已提交
762 763
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
764 765

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

Z
zhangalong 已提交
767
  ```js
768
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
769
  let accountManager = account_osAccount.getAccountManager();
770
  let accountName: string = 'testAccountName';
J
jidong 已提交
771
  try {
772 773 774 775 776 777 778
    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 已提交
779 780
    });
  } catch (err) {
C
chennian 已提交
781
    console.log('removeOsAccount exception: ' + JSON.stringify(err));
J
jidong 已提交
782
  }
Z
zhangalong 已提交
783 784
  ```

J
jidong 已提交
785 786 787 788 789
### setOsAccountConstraints

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

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

J
jidong 已提交
791
**系统接口:** 此接口为系统接口。
792

J
jidong 已提交
793
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
794 795 796 797 798

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

**参数:**

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

J
jidong 已提交
806 807 808 809
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
810
| 12300001 | System service exception. |
C
chennian 已提交
811
| 12300002 | Invalid localId or constraints.    |
J
jidong 已提交
812 813
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
814 815

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

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

J
jidong 已提交
835 836 837 838 839
### setOsAccountConstraints

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

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

J
jidong 已提交
841
**系统接口:** 此接口为系统接口。
842

J
jidong 已提交
843
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
844 845 846

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

J
jidong 已提交
847 848 849 850 851 852 853 854
**参数:**

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

855 856
**返回值:**

J
jidong 已提交
857 858
| 类型                | 说明                                 |
| :------------------ | :----------------------------------- |
A
Annie_wang 已提交
859
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
860

J
jidong 已提交
861 862 863 864
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
865
| 12300001 | System service exception. |
C
chennian 已提交
866
| 12300002 | Invalid localId or constraints.    |
J
jidong 已提交
867 868
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
869 870

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

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

J
jidong 已提交
887
### setOsAccountName
Z
zhangalong 已提交
888

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

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

J
jidong 已提交
893 894 895
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
899
**参数:**
Z
zhangalong 已提交
900

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

J
jidong 已提交
907 908 909 910
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
911 912 913 914
| 12300001 | System service exception. |
| 12300002 | Invalid localId or localName. |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
915 916

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

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

J
jidong 已提交
936
### setOsAccountName
Z
zhangalong 已提交
937

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

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

J
jidong 已提交
942 943 944
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
946 947
**系统能力:** SystemCapability.Account.OsAccount

J
jidong 已提交
948 949 950 951 952 953 954
**参数:**

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

Z
zengyawen 已提交
955
**返回值:**
Z
zhangalong 已提交
956

J
jidong 已提交
957
| 类型                | 说明                                  |
J
jidong 已提交
958
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
959
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
Z
zhangalong 已提交
960

J
jidong 已提交
961 962 963 964
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
965 966 967 968
| 12300001 | System service exception. |
| 12300002 | Invalid localId or localName.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
969 970

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

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

J
jidong 已提交
988
### getOsAccountCount<sup>9+</sup>
989

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

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

J
jidong 已提交
994
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
995 996 997 998 999

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

**参数:**

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

J
jidong 已提交
1004 1005 1006 1007 1008 1009
**错误码:**

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

1010 1011 1012
**示例:**

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

J
jidong 已提交
1028
### getOsAccountCount<sup>9+</sup>
1029

J
jidong 已提交
1030
getOsAccountCount(): Promise&lt;number&gt;
1031

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

J
jidong 已提交
1034
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1035 1036 1037

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

J
jidong 已提交
1038
**返回值:**
1039

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

J
jidong 已提交
1044 1045 1046 1047 1048 1049
**错误码:**

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

1050 1051 1052
**示例:**

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

C
cclicn 已提交
1066
### getOsAccountLocalId<sup>9+</sup>
1067

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

J
jidong 已提交
1070
获取当前进程所属的系统帐号ID,使用callback异步回调。
1071 1072 1073 1074 1075

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

**参数:**

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

J
jidong 已提交
1080 1081 1082 1083
**错误码:**

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

1086 1087 1088
**示例:**

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

C
cclicn 已提交
1104
### getOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
1105

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

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

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

J
jidong 已提交
1112
**返回值:**
Z
zhangalong 已提交
1113

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

J
jidong 已提交
1118 1119 1120 1121
**错误码:**

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

1124
**示例:**
Z
zhangalong 已提交
1125

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

C
cclicn 已提交
1140
### getOsAccountLocalIdForUid<sup>9+</sup>
Z
zhangalong 已提交
1141

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

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

Z
zengyawen 已提交
1146 1147 1148
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
1155 1156 1157
**错误码:**

| 错误码ID | 错误信息         |
J
jidong 已提交
1158
| -------- | --------------- |
C
chennian 已提交
1159 1160
| 12300001 | System service exception. |
| 12300002 | Invalid uid.    |
J
jidong 已提交
1161 1162

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

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

C
cclicn 已提交
1180
### getOsAccountLocalIdForUid<sup>9+</sup>
Z
zhangalong 已提交
1181

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

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

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

Z
zengyawen 已提交
1188
**参数:**
Z
zhangalong 已提交
1189

J
jidong 已提交
1190 1191 1192
| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |
Z
zhangalong 已提交
1193

Z
zengyawen 已提交
1194
**返回值:**
Z
zhangalong 已提交
1195

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

J
jidong 已提交
1200 1201 1202
**错误码:**

| 错误码ID | 错误信息       |
J
jidong 已提交
1203
| -------- | ------------- |
C
chennian 已提交
1204 1205
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
1206 1207

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

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

C
cclicn 已提交
1224
### getOsAccountLocalIdForDomain<sup>9+</sup>
Z
zhangalong 已提交
1225

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

J
jidong 已提交
1228
根据域帐号信息,获取与其关联的系统帐号ID。使用callback异步回调。
Z
zengyawen 已提交
1229 1230 1231 1232 1233 1234

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

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

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

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

J
jidong 已提交
1241 1242 1243 1244
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1245 1246
| 12300001 | System service exception. |
| 12300002 | Invalid domainInfo. |
J
jidong 已提交
1247

1248
**示例:**
Z
zhangalong 已提交
1249

Z
zhangalong 已提交
1250
  ```js
1251
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
1252
  let domainInfo: account_osAccount.DomainAccountInfo = {domain: 'testDomain', accountName: 'testAccountName'};
F
fanchenxuan 已提交
1253
  let accountManager = account_osAccount.getAccountManager();
1254
  try {
1255
    accountManager.getOsAccountLocalIdForDomain(domainInfo, (err: BusinessError, localId: number) => {
J
jidong 已提交
1256
      if (err) {
C
chennian 已提交
1257
        console.log('getOsAccountLocalIdForDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
1258
      } else {
C
chennian 已提交
1259
        console.log('getOsAccountLocalIdForDomain successfully, localId: ' + localId);
J
jidong 已提交
1260
      }
J
jidong 已提交
1261
    });
J
jidong 已提交
1262
  } catch (err) {
C
cclicn 已提交
1263
    console.log('getOsAccountLocalIdForDomain exception: ' + JSON.stringify(err));
1264
  }
Z
zhangalong 已提交
1265 1266
  ```

C
cclicn 已提交
1267
### getOsAccountLocalIdForDomain<sup>9+</sup>
Z
zhangalong 已提交
1268

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

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

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

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

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

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

Z
zengyawen 已提交
1283
**返回值:**
Z
zhangalong 已提交
1284

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

J
jidong 已提交
1289 1290 1291 1292
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1293 1294
| 12300001 | System service exception. |
| 12300002 | Invalid domainInfo. |
J
jidong 已提交
1295

1296
**示例:**
Z
zhangalong 已提交
1297

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

J
jidong 已提交
1313
### queryMaxOsAccountNumber
Z
zhangalong 已提交
1314

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

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

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

Z
zengyawen 已提交
1321 1322 1323 1324
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

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

J
jidong 已提交
1329 1330 1331 1332 1333 1334
**错误码:**

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

J
jidong 已提交
1335
**示例:**
Z
zhangalong 已提交
1336

Z
zhangalong 已提交
1337
  ```js
1338
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1339
  let accountManager = account_osAccount.getAccountManager();
1340
  try {
1341
    accountManager.queryMaxOsAccountNumber((err: BusinessError, maxCnt: number) => {
J
jidong 已提交
1342 1343 1344 1345 1346
      if (err) {
        console.log('queryMaxOsAccountNumber failed, error:' + JSON.stringify(err));
      } else {
        console.log('queryMaxOsAccountNumber successfully, maxCnt:' + maxCnt);
      }
1347
    });
J
jidong 已提交
1348
  } catch (err) {
C
chennian 已提交
1349
    console.log('queryMaxOsAccountNumber exception: ' + JSON.stringify(err));
1350
  }
Z
zhangalong 已提交
1351 1352
  ```

J
jidong 已提交
1353
### queryMaxOsAccountNumber
Z
zhangalong 已提交
1354

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

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

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

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

Z
zengyawen 已提交
1363 1364
**返回值:**

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

J
jidong 已提交
1369 1370 1371 1372 1373 1374
**错误码:**

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

J
jidong 已提交
1375
**示例:**
Z
zhangalong 已提交
1376

Z
zhangalong 已提交
1377
  ```js
1378
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1379
  let accountManager = account_osAccount.getAccountManager();
1380
  try {
1381
    accountManager.queryMaxOsAccountNumber().then((maxCnt: number) => {
J
jidong 已提交
1382
      console.log('queryMaxOsAccountNumber successfully, maxCnt: ' + maxCnt);
1383
    }).catch((err: BusinessError) => {
C
chennian 已提交
1384
      console.log('queryMaxOsAccountNumber failed, error: ' + JSON.stringify(err));
1385
    });
J
jidong 已提交
1386
  } catch (err) {
C
chennian 已提交
1387
    console.log('queryMaxOsAccountNumber exception: ' + JSON.stringify(err));
1388
  }
Z
zhangalong 已提交
1389 1390
  ```

J
jidong 已提交
1391
### getOsAccountConstraints<sup>9+</sup>
Z
zhangalong 已提交
1392

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

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

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

Z
zengyawen 已提交
1399 1400 1401
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
1408 1409 1410 1411
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1412
| 12300001 | System service exception. |
J
jidong 已提交
1413
| 12300002 | Invalid localId.    |
J
jidong 已提交
1414
| 12300003 | Account not found. |
J
jidong 已提交
1415 1416

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

Z
zhangalong 已提交
1418
  ```js
1419
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1420
  let accountManager = account_osAccount.getAccountManager();
1421
  let localId: number = 100;
1422
  try {
1423
    accountManager.getOsAccountConstraints(localId, (err: BusinessError, constraints: string[]) => {
J
jidong 已提交
1424
      if (err) {
C
chennian 已提交
1425
        console.log('getOsAccountConstraints failed, err: ' + JSON.stringify(err));
J
jidong 已提交
1426
      } else {
C
chennian 已提交
1427
        console.log('getOsAccountConstraints successfully, constraints: ' + JSON.stringify(constraints));
J
jidong 已提交
1428
      }
1429
    });
J
jidong 已提交
1430
  } catch (err) {
C
chennian 已提交
1431
    console.log('getOsAccountConstraints exception: ' + JSON.stringify(err));
1432
  }
Z
zhangalong 已提交
1433 1434
  ```

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

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

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

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

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

Z
zengyawen 已提交
1445
**参数:**
Z
zhangalong 已提交
1446

J
jidong 已提交
1447 1448 1449
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
1450

Z
zengyawen 已提交
1451 1452
**返回值:**

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

J
jidong 已提交
1457 1458 1459 1460
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1461
| 12300001 | System service exception. |
J
jidong 已提交
1462
| 12300002 | Invalid localId.    |
J
jidong 已提交
1463
| 12300003 | Account not found. |
J
jidong 已提交
1464 1465

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

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

J
jidong 已提交
1482
### queryAllCreatedOsAccounts
1483

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

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

J
jidong 已提交
1488
**系统接口:** 此接口为系统接口。
1489 1490 1491

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

J
jidong 已提交
1492 1493
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

1494 1495
**参数:**

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

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

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

1506 1507 1508
**示例:**

  ```js
1509
  import { BusinessError } from '@ohos.base';
1510 1511
  let accountManager = account_osAccount.getAccountManager();
  try {
1512
    accountManager.queryAllCreatedOsAccounts((err: BusinessError, accountArr: account_osAccount.OsAccountInfo[])=>{
J
jidong 已提交
1513 1514
      console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err));
      console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr));
1515 1516
    });
  } catch (e) {
C
chennian 已提交
1517
    console.log('queryAllCreatedOsAccounts exception: ' + JSON.stringify(e));
1518 1519 1520
  }
  ```

J
jidong 已提交
1521
### queryAllCreatedOsAccounts
1522

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

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

J
jidong 已提交
1527
**系统接口:** 此接口为系统接口。
1528 1529 1530

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

J
jidong 已提交
1531 1532
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

1533 1534
**返回值:**

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

J
jidong 已提交
1539 1540 1541 1542 1543 1544
**错误码:**

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

1545 1546 1547
**示例:**

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

C
cclicn 已提交
1561
### getActivatedOsAccountLocalIds<sup>9+</sup>
Z
zhangalong 已提交
1562

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

J
jidong 已提交
1565
查询当前处于激活状态的系统帐号的ID列表。使用callback异步回调。
Z
zengyawen 已提交
1566 1567 1568 1569

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

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

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

J
jidong 已提交
1575 1576 1577 1578
**错误码:**

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

1581
**示例:**
Z
zhangalong 已提交
1582

Z
zhangalong 已提交
1583
  ```js
1584
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1585
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
1586
  try {
1587
    accountManager.getActivatedOsAccountLocalIds((err: BusinessError, idArray: number[])=>{
C
cclicn 已提交
1588 1589
      console.log('getActivatedOsAccountLocalIds err:' + JSON.stringify(err));
      console.log('getActivatedOsAccountLocalIds idArray length:' + idArray.length);
J
jidong 已提交
1590 1591 1592 1593 1594
      for(let i=0;i<idArray.length;i++) {
        console.info('activated os account id: ' + idArray[i]);
      }
    });
  } catch (e) {
C
chennian 已提交
1595
    console.log('getActivatedOsAccountLocalIds exception: ' + JSON.stringify(e));
J
jidong 已提交
1596
  }
Z
zhangalong 已提交
1597 1598
  ```

C
cclicn 已提交
1599
### getActivatedOsAccountLocalIds<sup>9+</sup>
Z
zhangalong 已提交
1600

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

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

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

Z
zengyawen 已提交
1607 1608
**返回值:**

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

J
jidong 已提交
1613 1614 1615 1616
**错误码:**

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

1619
**示例:**
Z
zhangalong 已提交
1620

Z
zhangalong 已提交
1621
  ```js
1622
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1623
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
1624
  try {
1625
    accountManager.getActivatedOsAccountLocalIds().then((idArray: number[]) => {
C
cclicn 已提交
1626
      console.log('getActivatedOsAccountLocalIds, idArray: ' + idArray);
1627
    }).catch((err: BusinessError) => {
C
chennian 已提交
1628
      console.log('getActivatedOsAccountLocalIds err: ' + JSON.stringify(err));
J
jidong 已提交
1629 1630
    });
  } catch (e) {
C
chennian 已提交
1631
    console.log('getActivatedOsAccountLocalIds exception: ' + JSON.stringify(e));
J
jidong 已提交
1632
  }
Z
zhangalong 已提交
1633 1634
  ```

J
jidong 已提交
1635
### createOsAccount
1636

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

J
jidong 已提交
1639 1640 1641 1642 1643
创建一个系统帐号。使用callback异步回调。

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

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1644 1645 1646 1647 1648

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

**参数:**

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

**错误码:**
J
jidong 已提交
1656 1657 1658 1659

| 错误码ID  | 错误信息                   |
| -------- | ------------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1660
| 12300002 | Invalid localName or type. |
J
jidong 已提交
1661 1662
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1663
| 12300007 | The number of accounts reaches the upper limit. |
1664 1665 1666 1667

**示例:**

  ```js
1668
  import { BusinessError } from '@ohos.base';
1669 1670
  let accountManager = account_osAccount.getAccountManager();
  try {
1671 1672
    accountManager.createOsAccount('testName', account_osAccount.OsAccountType.NORMAL,
      (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1673 1674
      console.log('createOsAccount err:' + JSON.stringify(err));
      console.log('createOsAccount osAccountInfo:' + JSON.stringify(osAccountInfo));
1675 1676
    });
  } catch (e) {
C
chennian 已提交
1677
    console.log('createOsAccount exception: ' + JSON.stringify(e));
1678 1679 1680
  }
  ```

J
jidong 已提交
1681
### createOsAccount
1682

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

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

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

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

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

J
jidong 已提交
1693 1694 1695 1696 1697 1698 1699
**参数:**

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

1700 1701
**返回值:**

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

**错误码:**
J
jidong 已提交
1707 1708 1709 1710

| 错误码ID  | 错误信息                   |
| -------- | ------------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1711
| 12300002 | Invalid localName or type. |
J
jidong 已提交
1712 1713
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1714
| 12300007 | The number of accounts reaches the upper limit. |
1715 1716 1717 1718

**示例:**

  ```js
1719
  import { BusinessError } from '@ohos.base';
1720 1721
  let accountManager = account_osAccount.getAccountManager();
  try {
1722 1723
    accountManager.createOsAccount('testAccountName', account_osAccount.OsAccountType.NORMAL).then(
      (accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1724
      console.log('createOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1725
    }).catch((err: BusinessError) => {
C
chennian 已提交
1726
      console.log('createOsAccount err: ' + JSON.stringify(err));
1727 1728
    });
  } catch (e) {
C
chennian 已提交
1729
    console.log('createOsAccount exception: ' + JSON.stringify(e));
1730 1731 1732
  }
  ```

J
jidong 已提交
1733
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1734

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

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

J
jidong 已提交
1739 1740 1741
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
1743 1744 1745
**系统能力:** SystemCapability.Account.OsAccount

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

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

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

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

1763
**示例:**
Z
zhangalong 已提交
1764

Z
zhangalong 已提交
1765
  ```js
1766
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1767
  let accountManager = account_osAccount.getAccountManager();
C
cclicn 已提交
1768 1769
  let domainInfo: account_osAccount.DomainAccountInfo =
    {domain: 'testDomain', accountName: 'testAccountName'};
J
jidong 已提交
1770
  try {
1771 1772
    accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo,
      (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1773 1774 1775 1776
      console.log('createOsAccountForDomain err:' + JSON.stringify(err));
      console.log('createOsAccountForDomain osAccountInfo:' + JSON.stringify(osAccountInfo));
    });
  } catch (e) {
C
chennian 已提交
1777
    console.log('createOsAccountForDomain exception: ' + JSON.stringify(e));
J
jidong 已提交
1778
  }
Z
zhangalong 已提交
1779 1780
  ```

J
jidong 已提交
1781
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1782

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

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

J
jidong 已提交
1787 1788 1789
**系统接口:** 此接口为系统接口。

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

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

J
jidong 已提交
1793 1794 1795 1796 1797 1798 1799
**参数:**

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

Z
zengyawen 已提交
1800
**返回值:**
Z
zhangalong 已提交
1801

J
jidong 已提交
1802 1803 1804 1805 1806
| 类型                                           | 说明                                    |
| ---------------------------------------------- | -------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回新创建的系统帐号的信息。 |

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

J
jidong 已提交
1808
| 错误码ID | 错误信息                     |
J
jidong 已提交
1809 1810
| -------- | ------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1811
| 12300002 | Invalid type or domainInfo. |
J
jidong 已提交
1812 1813
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1814
| 12300007 | The number of accounts reaches the upper limit. |
Z
zengyawen 已提交
1815

1816
**示例:**
Z
zhangalong 已提交
1817

Z
zhangalong 已提交
1818
  ```js
1819
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1820
  let accountManager = account_osAccount.getAccountManager();
C
cclicn 已提交
1821 1822
  let domainInfo: account_osAccount.DomainAccountInfo =
    {domain: 'testDomain', accountName: 'testAccountName'};
J
jidong 已提交
1823
  try {
1824 1825
    accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo).then(
      (accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1826
      console.log('createOsAccountForDomain, account info: ' + JSON.stringify(accountInfo));
1827
    }).catch((err: BusinessError) => {
C
chennian 已提交
1828
      console.log('createOsAccountForDomain err: ' + JSON.stringify(err));
J
jidong 已提交
1829 1830
    });
  } catch (e) {
C
chennian 已提交
1831
    console.log('createOsAccountForDomain exception: ' + JSON.stringify(e));
J
jidong 已提交
1832
  }
Z
zhangalong 已提交
1833 1834
  ```

J
jidong 已提交
1835
### getCurrentOsAccount<sup>9+</sup>
1836

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

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

1841
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.GET_LOCAL_ACCOUNTS<sup>10+</sup>
1842 1843 1844 1845 1846

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

**参数:**

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

J
jidong 已提交
1851 1852 1853 1854 1855 1856
**错误码:**

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

J
jidong 已提交
1857
**示例:**
1858 1859

  ```js
1860
  import { BusinessError } from '@ohos.base';
1861 1862
  let accountManager = account_osAccount.getAccountManager();
  try {
1863
    accountManager.getCurrentOsAccount((err: BusinessError, curAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1864 1865
      console.log('getCurrentOsAccount err:' + JSON.stringify(err));
      console.log('getCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
1866 1867
    });
  } catch (e) {
C
chennian 已提交
1868
    console.log('getCurrentOsAccount exception: ' + JSON.stringify(e));
1869 1870 1871
  }
  ```

J
jidong 已提交
1872
### getCurrentOsAccount<sup>9+</sup>
1873

J
jidong 已提交
1874
getCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
1875

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

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

J
jidong 已提交
1880
**系统能力:** SystemCapability.Account.OsAccount
1881 1882 1883

**返回值:**

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

J
jidong 已提交
1888 1889 1890 1891 1892 1893
**错误码:**

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

J
jidong 已提交
1894
**示例:**
1895 1896

  ```js
1897
  import { BusinessError } from '@ohos.base';
1898 1899
  let accountManager = account_osAccount.getAccountManager();
  try {
1900
    accountManager.getCurrentOsAccount().then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1901
      console.log('getCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1902
    }).catch((err: BusinessError) => {
C
chennian 已提交
1903
      console.log('getCurrentOsAccount err: ' + JSON.stringify(err));
1904 1905
    });
  } catch (e) {
C
chennian 已提交
1906
    console.log('getCurrentOsAccount exception: ' + JSON.stringify(e));
1907 1908 1909
  }
  ```

J
jidong 已提交
1910
### queryOsAccountById
Z
zhangalong 已提交
1911

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

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

J
jidong 已提交
1916 1917 1918
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
1920 1921 1922
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
1929
**错误码:**
J
jidong 已提交
1930

J
jidong 已提交
1931 1932
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1933
| 12300001 | System service exception. |
J
jidong 已提交
1934
| 12300002 | Invalid localId.    |
J
jidong 已提交
1935
| 12300003 | Account not found. |
J
jidong 已提交
1936 1937

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

Z
zhangalong 已提交
1939
  ```js
1940
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
1941
  let accountManager = account_osAccount.getAccountManager();
1942
  let localId: number = 100;
J
jidong 已提交
1943
  try {
1944
    accountManager.queryOsAccountById(localId, (err: BusinessError, accountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
1945 1946 1947 1948
      console.log('queryOsAccountById err:' + JSON.stringify(err));
      console.log('queryOsAccountById accountInfo:' + JSON.stringify(accountInfo));
    });
  } catch (e) {
C
chennian 已提交
1949
    console.log('queryOsAccountById exception: ' + JSON.stringify(e));
J
jidong 已提交
1950
  }
Z
zhangalong 已提交
1951 1952
  ```

J
jidong 已提交
1953
### queryOsAccountById
Z
zhangalong 已提交
1954

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

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

J
jidong 已提交
1959 1960 1961
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
1965
**参数:**
Z
zhangalong 已提交
1966

J
jidong 已提交
1967 1968 1969
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
| localId | number | 是   | 要查询的系统帐号的ID |
Z
zhangalong 已提交
1970

Z
zengyawen 已提交
1971
**返回值:**
Z
zhangalong 已提交
1972

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

J
jidong 已提交
1977
**错误码:**
J
jidong 已提交
1978

J
jidong 已提交
1979 1980
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1981
| 12300001 | System service exception. |
C
chennian 已提交
1982
| 12300002 | Invalid localId. |
J
jidong 已提交
1983
| 12300003 | Account not found. |
J
jidong 已提交
1984 1985

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

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

J
jidong 已提交
2002
### getOsAccountType<sup>9+</sup>
2003

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

J
jidong 已提交
2006
查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
2007 2008 2009 2010 2011

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

**参数:**

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

J
jidong 已提交
2016 2017 2018 2019 2020 2021
**错误码:**

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

2022 2023 2024
**示例:**

  ```js
2025
  import { BusinessError } from '@ohos.base';
2026 2027
  let accountManager = account_osAccount.getAccountManager();
  try {
2028
    accountManager.getOsAccountType((err: BusinessError, accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
2029 2030
      console.log('getOsAccountType err: ' + JSON.stringify(err));
      console.log('getOsAccountType accountType: ' + accountType);
2031 2032
    });
  } catch (e) {
J
jidong 已提交
2033
    console.log('getOsAccountType exception: ' + JSON.stringify(e));
2034 2035 2036
  }
  ```

J
jidong 已提交
2037
### getOsAccountType<sup>9+</sup>
2038

J
jidong 已提交
2039
getOsAccountType(): Promise&lt;OsAccountType&gt;
2040

J
jidong 已提交
2041
查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
2042 2043 2044 2045 2046

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

**返回值:**

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

J
jidong 已提交
2051 2052 2053 2054 2055 2056
**错误码:**

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

2057 2058 2059
**示例:**

  ```js
2060
  import { BusinessError } from '@ohos.base';
2061 2062
  let accountManager = account_osAccount.getAccountManager();
  try {
2063
    accountManager.getOsAccountType().then((accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
2064
      console.log('getOsAccountType, accountType: ' + accountType);
2065
    }).catch((err: BusinessError) => {
C
chennian 已提交
2066
      console.log('getOsAccountType err: ' + JSON.stringify(err));
2067 2068
    });
  } catch (e) {
J
jidong 已提交
2069
    console.log('getOsAccountType exception: ' + JSON.stringify(e));
2070 2071 2072
  }
  ```

J
jidong 已提交
2073
### queryDistributedVirtualDeviceId<sup>9+</sup>
Z
zhangalong 已提交
2074

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

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

J
jidong 已提交
2079
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2080 2081

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

Z
zengyawen 已提交
2083
**参数:**
Z
zhangalong 已提交
2084

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

J
jidong 已提交
2089 2090 2091 2092 2093 2094
**错误码:**

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

2095
**示例:**
Z
zhangalong 已提交
2096

Z
zhangalong 已提交
2097
  ```js
2098
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2099
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2100
  try {
2101
    accountManager.queryDistributedVirtualDeviceId((err: BusinessError, virtualID: string) => {
J
jidong 已提交
2102 2103 2104 2105 2106 2107
      console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
      console.log('queryDistributedVirtualDeviceId virtualID: ' + virtualID);
    });
  } catch (e) {
    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
  }
Z
zhangalong 已提交
2108 2109
  ```

J
jidong 已提交
2110
### queryDistributedVirtualDeviceId<sup>9+</sup>
Z
zhangalong 已提交
2111

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

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

J
jidong 已提交
2116
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2117 2118 2119 2120

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

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

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

J
jidong 已提交
2126 2127 2128 2129 2130 2131
**错误码:**

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

2132
**示例:**
Z
zhangalong 已提交
2133

Z
zhangalong 已提交
2134
  ```js
2135
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2136
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2137
  try {
2138
    accountManager.queryDistributedVirtualDeviceId().then((virtualID: string) => {
J
jidong 已提交
2139
      console.log('queryDistributedVirtualDeviceId, virtualID: ' + virtualID);
2140
    }).catch((err: BusinessError) => {
C
chennian 已提交
2141
      console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
J
jidong 已提交
2142 2143 2144 2145
    });
  } catch (e) {
    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
  }
Z
zhangalong 已提交
2146 2147
  ```

J
jidong 已提交
2148
### getOsAccountProfilePhoto
Z
zhangalong 已提交
2149

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

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

J
jidong 已提交
2154 2155 2156
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
2160 2161
**参数:**

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

J
jidong 已提交
2167
**错误码:**
J
jidong 已提交
2168

J
jidong 已提交
2169 2170
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2171
| 12300001 | System service exception. |
J
jidong 已提交
2172
| 12300002 | Invalid localId.    |
J
jidong 已提交
2173
| 12300003 | Account not found. |
J
jidong 已提交
2174 2175

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

Z
zhangalong 已提交
2177
  ```js
2178
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2179
  let accountManager = account_osAccount.getAccountManager();
2180
  let localId: number = 100;
2181
  try {
2182
    accountManager.getOsAccountProfilePhoto(localId, (err: BusinessError, photo: string)=>{
J
jidong 已提交
2183 2184
      console.log('getOsAccountProfilePhoto err:' + JSON.stringify(err));
      console.log('get photo:' + photo + ' by localId: ' + localId);
2185 2186
    });
  } catch (e) {
C
chennian 已提交
2187
    console.log('getOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2188
  }
Z
zhangalong 已提交
2189 2190
  ```

J
jidong 已提交
2191
### getOsAccountProfilePhoto
Z
zhangalong 已提交
2192

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

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

J
jidong 已提交
2197 2198 2199
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2200 2201 2202

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

J
jidong 已提交
2203 2204 2205 2206 2207 2208
**参数:**

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

Z
zengyawen 已提交
2209
**返回值:**
Z
zhangalong 已提交
2210

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

J
jidong 已提交
2215
**错误码:**
J
jidong 已提交
2216

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

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

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

J
jidong 已提交
2240
### setOsAccountProfilePhoto
2241

J
jidong 已提交
2242 2243 2244
setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback&lt;void&gt;): void

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

J
jidong 已提交
2246
**系统接口:** 此接口为系统接口。
2247

J
jidong 已提交
2248
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2249 2250 2251 2252 2253

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

**参数:**

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

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

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

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

  ```js
2272
  import { BusinessError } from '@ohos.base';
2273
  let accountManager = account_osAccount.getAccountManager();
2274 2275
  let localId: number = 100;
  let photo: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
J
jidong 已提交
2276 2277 2278
  'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
  'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
  '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
2279
  try {
2280
    accountManager.setOsAccountProfilePhoto(localId, photo, (err: BusinessError)=>{
J
jidong 已提交
2281
      console.log('setOsAccountProfilePhoto err:' + JSON.stringify(err));
2282 2283
    });
  } catch (e) {
C
chennian 已提交
2284
    console.log('setOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2285 2286 2287
  }
  ```

J
jidong 已提交
2288
### setOsAccountProfilePhoto
2289

J
jidong 已提交
2290 2291 2292
setOsAccountProfilePhoto(localId: number, photo: string): Promise&lt;void&gt;

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

J
jidong 已提交
2294
**系统接口:** 此接口为系统接口。
2295

J
jidong 已提交
2296
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2297 2298 2299 2300 2301 2302 2303 2304

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

**参数:**

| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
J
jidong 已提交
2305
| photo   | string | 是   | 头像信息。   |
2306 2307 2308

**返回值:**

J
jidong 已提交
2309
| 类型                | 说明                                 |
J
jidong 已提交
2310
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
2311
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
2312

J
jidong 已提交
2313
**错误码:**
J
jidong 已提交
2314

J
jidong 已提交
2315 2316
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2317 2318 2319 2320
| 12300001 | System service exception. |
| 12300002 | Invalid localId or photo.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
2321 2322

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

  ```js
2325
  import { BusinessError } from '@ohos.base';
2326
  let accountManager = account_osAccount.getAccountManager();
2327 2328
  let localId: number = 100;
  let photo: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
J
jidong 已提交
2329 2330 2331
  'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
  'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
  '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
2332
  try {
J
jidong 已提交
2333 2334
    accountManager.setOsAccountProfilePhoto(localId, photo).then(() => {
      console.log('setOsAccountProfilePhoto success');
2335
    }).catch((err: BusinessError) => {
C
chennian 已提交
2336
      console.log('setOsAccountProfilePhoto err: ' + JSON.stringify(err));
2337 2338
    });
  } catch (e) {
C
chennian 已提交
2339
    console.log('setOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2340
  }
Z
zhangalong 已提交
2341 2342
  ```

C
cclicn 已提交
2343
### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
Z
zhangalong 已提交
2344

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

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

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

Z
zengyawen 已提交
2351 2352
**参数:**

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

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

J
jidong 已提交
2360
| 错误码ID | 错误信息               |
J
jidong 已提交
2361
| -------- | ------------------- |
C
chennian 已提交
2362 2363 2364
| 12300001 | System service exception. |
| 12300002 | Invalid serialNumber. |
| 12300003 | The account indicated by serialNumber dose not exist. |
J
jidong 已提交
2365 2366

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

Z
zhangalong 已提交
2368
  ```js
2369
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2370
  let accountManager = account_osAccount.getAccountManager();
2371
  let serialNumber: number = 12345;
J
jidong 已提交
2372
  try {
2373
    accountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err: BusinessError, localId: number)=>{
J
jidong 已提交
2374 2375 2376 2377
      console.log('ger localId err:' + JSON.stringify(err));
      console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
    });
  } catch (e) {
C
chennian 已提交
2378
    console.log('ger localId exception: ' + JSON.stringify(e));
J
jidong 已提交
2379
  }
Z
zhangalong 已提交
2380 2381
  ```

C
cclicn 已提交
2382
### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
2383

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

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

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

Z
zengyawen 已提交
2390
**参数:**
Z
zhangalong 已提交
2391

J
jidong 已提交
2392 2393 2394
| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |
Z
zhangalong 已提交
2395

Z
zengyawen 已提交
2396
**返回值:**
Z
zhangalong 已提交
2397

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

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

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

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

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

C
cclicn 已提交
2427
### getSerialNumberForOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
2428

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

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

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

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

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

J
jidong 已提交
2442 2443 2444 2445
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
2446 2447 2448
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
2449 2450

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

Z
zhangalong 已提交
2452
  ```js
2453
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2454
  let accountManager = account_osAccount.getAccountManager();
2455
  let localId: number = 100;
2456
  try {
2457
    accountManager.getSerialNumberForOsAccountLocalId(localId, (err: BusinessError, serialNumber: number)=>{
J
jidong 已提交
2458 2459
      console.log('ger serialNumber err:' + JSON.stringify(err));
      console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
2460 2461
    });
  } catch (e) {
C
chennian 已提交
2462
    console.log('ger serialNumber exception: ' + JSON.stringify(e));
2463
  }
Z
zhangalong 已提交
2464 2465
  ```

C
cclicn 已提交
2466
### getSerialNumberForOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
2467

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

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

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

J
jidong 已提交
2474 2475 2476 2477 2478
**参数:**

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

Z
zengyawen 已提交
2480
**返回值:**
Z
zhangalong 已提交
2481

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

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

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

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

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

J
jidong 已提交
2511
### on
2512

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

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

J
jidong 已提交
2517 2518 2519
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2520 2521 2522 2523 2524

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

**参数:**

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

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

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

2538 2539 2540 2541
**示例:**

  ```js
  let accountManager = account_osAccount.getAccountManager();
2542
  function onCallback(receiveLocalId: number){
J
jidong 已提交
2543 2544
    console.log('receive localId:' + receiveLocalId);
  }
2545
  try {
J
jidong 已提交
2546
    accountManager.on('activating', 'osAccountOnOffNameA', onCallback);
2547
  } catch (e) {
C
chennian 已提交
2548
    console.log('receive localId exception: ' + JSON.stringify(e));
2549 2550 2551
  }
  ```

J
jidong 已提交
2552
### off
2553

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

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

J
jidong 已提交
2558 2559 2560
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2561 2562 2563

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

J
jidong 已提交
2564
**参数:**
2565

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

J
jidong 已提交
2572 2573 2574 2575 2576 2577 2578
**错误码:**

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

2579 2580 2581 2582
**示例:**

  ```js
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2583 2584 2585
  function offCallback(){
    console.log('off enter')
  }
2586
  try {
J
jidong 已提交
2587
    accountManager.off('activating', 'osAccountOnOffNameA', offCallback);
2588
  } catch (e) {
C
chennian 已提交
2589
    console.log('off exception: ' + JSON.stringify(e));
2590
  }
Z
zhangalong 已提交
2591 2592
  ```

C
cclicn 已提交
2593
### getBundleIdForUid<sup>9+</sup>
Z
zhangalong 已提交
2594

C
cclicn 已提交
2595
getBundleIdForUid(uid: number, callback: AsyncCallback&lt;number&gt;): void;
Z
zhangalong 已提交
2596

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

J
jidong 已提交
2599
**系统接口:** 此接口为系统接口。
2600

Z
zengyawen 已提交
2601 2602 2603
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
2610 2611 2612 2613
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2614 2615
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
2616

2617
**示例:**
Z
zhangalong 已提交
2618

Z
zhangalong 已提交
2619
  ```js
2620
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2621
  let accountManager = account_osAccount.getAccountManager();
2622
  let testUid: number = 1000000;
J
jidong 已提交
2623
  try {
2624
    accountManager.getBundleIdForUid(testUid, (err: BusinessError, bundleId: number) => {
C
cclicn 已提交
2625 2626
      console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
      console.info('getBundleIdForUid bundleId:' + JSON.stringify(bundleId));
J
jidong 已提交
2627 2628
    });
  } catch (e) {
C
chennian 已提交
2629
    console.info('getBundleIdForUid exception: ' + JSON.stringify(e));
J
jidong 已提交
2630
  }
Z
zhangalong 已提交
2631
  ```
C
cclicn 已提交
2632
### getBundleIdForUid<sup>9+</sup>
Z
zhangalong 已提交
2633

C
cclicn 已提交
2634
getBundleIdForUid(uid: number): Promise&lt;number&gt;;
Z
zhangalong 已提交
2635

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

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

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

J
jidong 已提交
2642 2643 2644 2645 2646 2647
**参数:**

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

Z
zengyawen 已提交
2648
**返回值:**
Z
zhangalong 已提交
2649

J
jidong 已提交
2650 2651 2652
| 类型                  | 说明                                  |
| --------------------- | ------------------------------------ |
| Promise&lt;number&gt; | Promise对象,返回与uid对应的bundleId。 |
Z
zengyawen 已提交
2653

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

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

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

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

J
jidong 已提交
2678 2679 2680
### isMainOsAccount<sup>9+</sup>

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

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

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

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

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

Z
zengyawen 已提交
2690 2691
**参数:**

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

J
jidong 已提交
2696 2697 2698 2699 2700 2701
**错误码:**

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

2702
**示例:**
Z
zhangalong 已提交
2703

Z
zhangalong 已提交
2704
  ```js
2705
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2706
  let accountManager = account_osAccount.getAccountManager();
2707
  try {
2708
    accountManager.isMainOsAccount((err: BusinessError,result: boolean)=>{
J
jidong 已提交
2709 2710
      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
      console.info('isMainOsAccount result:' + JSON.stringify(result));
2711 2712
    });
  } catch (e) {
C
chennian 已提交
2713
    console.info('isMainOsAccount exception: ' + JSON.stringify(e));
2714
  }
Z
zhangalong 已提交
2715
  ```
J
jidong 已提交
2716
### isMainOsAccount<sup>9+</sup>
Z
zhangalong 已提交
2717

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

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

J
jidong 已提交
2722
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2723 2724 2725 2726

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

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

Z
zengyawen 已提交
2728
**返回值:**
Z
zhangalong 已提交
2729

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

J
jidong 已提交
2734 2735 2736 2737 2738 2739
**错误码:**

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

2740
**示例:**
Z
zhangalong 已提交
2741

Z
zhangalong 已提交
2742
  ```js
2743
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2744
  let accountManager = account_osAccount.getAccountManager();
2745
  try {
2746
    accountManager.isMainOsAccount().then((result: boolean) => {
J
jidong 已提交
2747
      console.info('isMainOsAccount result:' + JSON.stringify(result));
2748
    }).catch((err: BusinessError) => {
J
jidong 已提交
2749
      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
2750 2751
    });
  } catch (e) {
C
chennian 已提交
2752
    console.info('isMainOsAccount exception: ' + JSON.stringify(e));
2753
  }
Z
zhangalong 已提交
2754
  ```
C
cclicn 已提交
2755
### getOsAccountConstraintSourceTypes<sup>9+</sup>
Z
zhangalong 已提交
2756

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

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

J
jidong 已提交
2761
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2762 2763 2764 2765

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

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

Z
zengyawen 已提交
2767
**参数:**
Z
zhangalong 已提交
2768

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

J
jidong 已提交
2775 2776 2777 2778
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2779 2780 2781
| 12300001 | System service exception. |
| 12300002 | Invalid name or constraint. |
| 12300003 | Account not found. |
J
jidong 已提交
2782

2783
**示例:**
Z
zhangalong 已提交
2784

Z
zhangalong 已提交
2785
  ```js
2786
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2787
  let accountManager = account_osAccount.getAccountManager();
2788
  try {
2789 2790
    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi',
      (err: BusinessError,sourceTypeInfos: account_osAccount.ConstraintSourceTypeInfo[])=>{
C
cclicn 已提交
2791 2792
      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(sourceTypeInfos));
2793 2794
    });
  } catch (e) {
C
chennian 已提交
2795
    console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e));
2796
  }
Z
zhangalong 已提交
2797 2798
  ```

C
cclicn 已提交
2799
### getOsAccountConstraintSourceTypes<sup>9+</sup>
Z
zhangalong 已提交
2800

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

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

J
jidong 已提交
2805
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2806 2807 2808 2809 2810 2811

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

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

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

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

Z
zengyawen 已提交
2818
**返回值:**
Z
zhangalong 已提交
2819

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

J
jidong 已提交
2824 2825 2826 2827
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2828 2829 2830
| 12300001 | System service exception. |
| 12300002 | Invalid name or constraint. |
| 12300003 | Account not found. |
J
jidong 已提交
2831

2832
**示例:**
Z
zhangalong 已提交
2833

Z
zhangalong 已提交
2834
  ```js
2835
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2836
  let accountManager = account_osAccount.getAccountManager();
2837
  try {
2838 2839
    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi').then(
      (result: account_osAccount.ConstraintSourceTypeInfo[]) => {
C
cclicn 已提交
2840
      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(result));
2841
    }).catch((err: BusinessError) => {
C
cclicn 已提交
2842
      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
2843 2844
    });
  } catch (e) {
C
chennian 已提交
2845
    console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e));
2846 2847 2848
  }
  ```

J
jidong 已提交
2849
### isMultiOsAccountEnable<sup>(deprecated)</sup>
2850

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

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

A
Annie_wang 已提交
2855
> **说明:** 
J
jidong 已提交
2856
>
A
Annie_wang 已提交
2857
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9)。
2858 2859 2860 2861 2862

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

**参数:**

J
jidong 已提交
2863 2864 2865
| 参数名   | 类型                         | 必填 | 说明                                                     |
| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示支持多系统帐号;返回false表示不支持。 |
2866 2867 2868 2869

**示例:**

  ```js
2870
  import { BusinessError } from '@ohos.base';
2871
  let accountManager = account_osAccount.getAccountManager();
2872
  accountManager.isMultiOsAccountEnable((err: BusinessError, isEnabled: boolean) => {
J
jidong 已提交
2873
    if (err) {
C
chennian 已提交
2874
      console.log('isMultiOsAccountEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
2875
    } else {
C
chennian 已提交
2876
    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
2877 2878
    }
  });
2879 2880
  ```

J
jidong 已提交
2881
### isMultiOsAccountEnable<sup>(deprecated)</sup>
2882

J
jidong 已提交
2883
isMultiOsAccountEnable(): Promise&lt;boolean&gt;
2884

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

A
Annie_wang 已提交
2887
> **说明:** 
J
jidong 已提交
2888
>
A
Annie_wang 已提交
2889
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9-1)。
2890 2891 2892 2893 2894

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

**返回值:**

J
jidong 已提交
2895 2896 2897
| 类型                   | 说明                                                       |
| :--------------------- | :--------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示支持多系统帐号;返回false表示不支持。 |
2898 2899 2900 2901

**示例:**

  ```js
2902
  import { BusinessError } from '@ohos.base';
2903
  let accountManager = account_osAccount.getAccountManager();
2904
  accountManager.isMultiOsAccountEnable().then((isEnabled: boolean) => {
J
jidong 已提交
2905
    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
2906
  }).catch((err: BusinessError) => {
C
chennian 已提交
2907
    console.log('isMultiOsAccountEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
2908
  });
Z
zhangalong 已提交
2909 2910 2911
  ```


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

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

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

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

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

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

Z
zengyawen 已提交
2926 2927
**参数:**

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

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

Z
zhangalong 已提交
2935
  ```js
2936
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2937
  let accountManager = account_osAccount.getAccountManager();
2938 2939
  let localId: number = 100;
  accountManager.isOsAccountActived(localId, (err: BusinessError, isActived: boolean) => {
J
jidong 已提交
2940 2941 2942 2943 2944
    if (err) {
      console.log('isOsAccountActived failed, err:' + JSON.stringify(err));
    } else {
      console.log('isOsAccountActived successfully, isActived:' + isActived);
    }
Z
zhangalong 已提交
2945 2946 2947
  });
  ```

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

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

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

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

J
jidong 已提交
2958
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2959 2960 2961

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

J
jidong 已提交
2962 2963 2964 2965 2966 2967
**参数:**

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

Z
zengyawen 已提交
2968
**返回值:**
Z
zhangalong 已提交
2969

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

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

Z
zhangalong 已提交
2976
  ```js
2977
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2978
  let accountManager = account_osAccount.getAccountManager();
2979 2980
  let localId: number = 100;
  accountManager.isOsAccountActived(localId).then((isActived: boolean) => {
J
jidong 已提交
2981
    console.log('isOsAccountActived successfully, isActived: ' + isActived);
2982
  }).catch((err: BusinessError) => {
C
chennian 已提交
2983
    console.log('isOsAccountActived failed, error: ' + JSON.stringify(err));
Z
zhangalong 已提交
2984 2985 2986
  });
  ```

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

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

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

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

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

Z
zengyawen 已提交
2999 3000 3001 3002
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

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

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

Z
zhangalong 已提交
3011
  ```js
3012
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3013
  let accountManager = account_osAccount.getAccountManager();
3014 3015 3016
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
  accountManager.isOsAccountConstraintEnable(localId, constraint, (err: BusinessError, isEnabled: boolean) => {
J
jidong 已提交
3017
    if (err) {
C
chennian 已提交
3018
      console.log('isOsAccountConstraintEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3019
    } else {
C
chennian 已提交
3020
      console.log('isOsAccountConstraintEnable successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
3021 3022
    }
  });
Z
zhangalong 已提交
3023 3024
  ```

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

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

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

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

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

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

Z
zengyawen 已提交
3039
**参数:**
Z
zhangalong 已提交
3040

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

Z
zengyawen 已提交
3046 3047
**返回值:**

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

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

  ```js
3055
  import { BusinessError } from '@ohos.base';
3056
  let accountManager = account_osAccount.getAccountManager();
3057 3058 3059
  let localId: number = 100;
  let constraint: string = 'constraint.wifi';
  accountManager.isOsAccountConstraintEnable(localId, constraint).then((isEnabled: boolean) => {
C
chennian 已提交
3060
    console.log('isOsAccountConstraintEnable successfully, isEnabled: ' + isEnabled);
3061
  }).catch((err: BusinessError) => {
C
chennian 已提交
3062
    console.log('isOsAccountConstraintEnable err: ' + JSON.stringify(err));
J
jidong 已提交
3063
  });
3064 3065
  ```

J
jidong 已提交
3066
### isTestOsAccount<sup>(deprecated)</sup>
3067

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

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

A
Annie_wang 已提交
3072
> **说明:** 
J
jidong 已提交
3073
>
A
Annie_wang 已提交
3074
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9)。
3075 3076 3077 3078 3079

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

**参数:**

J
jidong 已提交
3080 3081 3082
| 参数名   | 类型                         | 必填 | 说明                                                                   |
| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
3083 3084 3085 3086

**示例:**

  ```js
3087
  import { BusinessError } from '@ohos.base';
3088
  let accountManager = account_osAccount.getAccountManager();
3089
  accountManager.isTestOsAccount((err: BusinessError, isTestable: boolean) => {
J
jidong 已提交
3090
    if (err) {
C
chennian 已提交
3091
      console.log('isTestOsAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3092
    } else {
C
chennian 已提交
3093
      console.log('isTestOsAccount successfully, isTestable: ' + isTestable);
J
jidong 已提交
3094 3095
    }
  });
3096 3097
  ```

J
jidong 已提交
3098
### isTestOsAccount<sup>(deprecated)</sup>
3099

J
jidong 已提交
3100 3101 3102
isTestOsAccount(): Promise&lt;boolean&gt;

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

A
Annie_wang 已提交
3104
> **说明:** 
J
jidong 已提交
3105
>
A
Annie_wang 已提交
3106
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9-1)。
3107 3108 3109 3110 3111

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

**返回值:**

J
jidong 已提交
3112 3113 3114
| 类型                   | 说明                                                                      |
| ---------------------- | ------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
3115 3116 3117 3118

**示例:**

  ```js
3119
  import { BusinessError } from '@ohos.base';
3120
  let accountManager = account_osAccount.getAccountManager();
3121
    accountManager.isTestOsAccount().then((isTestable: boolean) => {
C
chennian 已提交
3122
      console.log('isTestOsAccount successfully, isTestable: ' + isTestable);
3123
    }).catch((err: BusinessError) => {
C
chennian 已提交
3124
      console.log('isTestOsAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3125
  });
3126 3127
  ```

J
jidong 已提交
3128
### isOsAccountVerified<sup>(deprecated)</sup>
3129

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

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

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

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

3140 3141 3142 3143
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3144 3145 3146
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3147 3148 3149 3150

**示例:**

  ```js
3151
  import { BusinessError } from '@ohos.base';
3152
  let accountManager = account_osAccount.getAccountManager();
3153
  accountManager.isOsAccountVerified((err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
3154
    if (err) {
C
chennian 已提交
3155
      console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3156
    } else {
C
chennian 已提交
3157
      console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
3158
    }
3159 3160 3161
  });
  ```

J
jidong 已提交
3162
### isOsAccountVerified<sup>(deprecated)</sup>
3163

J
jidong 已提交
3164
isOsAccountVerified(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
3165

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

A
Annie_wang 已提交
3168
> **说明:** 
3169
>
A
Annie_wang 已提交
3170
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-1)。
3171

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

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

J
jidong 已提交
3176
**参数:**
3177

J
jidong 已提交
3178 3179
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
3180
| localId  | number                       | 是   | 系统帐号ID。                             |
J
jidong 已提交
3181
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3182 3183

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

Z
zhangalong 已提交
3185
  ```js
3186
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3187
  let accountManager = account_osAccount.getAccountManager();
3188 3189
  let localId: number = 100;
  accountManager.isOsAccountVerified(localId, (err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
3190
    if (err) {
C
chennian 已提交
3191
      console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3192
    } else {
C
chennian 已提交
3193
      console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
3194
    }
Z
zhangalong 已提交
3195 3196 3197
  });
  ```

J
jidong 已提交
3198
### isOsAccountVerified<sup>(deprecated)</sup>
Z
zhangalong 已提交
3199

J
jidong 已提交
3200
isOsAccountVerified(localId?: number): Promise&lt;boolean&gt;
Z
zhangalong 已提交
3201

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

A
Annie_wang 已提交
3204
> **说明:** 
J
jidong 已提交
3205
>
A
Annie_wang 已提交
3206
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-2)。
J
jidong 已提交
3207 3208

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
Z
zhangalong 已提交
3209

Z
zengyawen 已提交
3210 3211 3212
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
3214 3215 3216
| 参数名  | 类型   | 必填 | 说明                                                              |
| ------- | ------ | ---- | ---------------------------------------------------------------- |
| localId | number | 否   | 系统帐号ID。不填则检查当前系统帐号是否已验证。 |
Z
zhangalong 已提交
3217

Z
zengyawen 已提交
3218
**返回值:**
Z
zhangalong 已提交
3219

J
jidong 已提交
3220 3221 3222
| 类型                   | 说明                                                               |
| ---------------------- | ----------------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
Z
zengyawen 已提交
3223

3224
**示例:**
Z
zhangalong 已提交
3225

Z
zhangalong 已提交
3226
  ```js
3227
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3228
  let accountManager = account_osAccount.getAccountManager();
3229
  accountManager.isOsAccountVerified(localId).then((isVerified: boolean) => {
C
chennian 已提交
3230
    console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
3231
  }).catch((err: BusinessError) => {
C
chennian 已提交
3232
    console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3233
  });
Z
zhangalong 已提交
3234 3235
  ```

J
jidong 已提交
3236
### getCreatedOsAccountsCount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3237

J
jidong 已提交
3238
getCreatedOsAccountsCount(callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3239

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

A
Annie_wang 已提交
3242
> **说明:** 
3243
>
A
Annie_wang 已提交
3244
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountCount](#getosaccountcount9)。
3245

J
jidong 已提交
3246
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3247 3248

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

Z
zengyawen 已提交
3250
**参数:**
Z
zhangalong 已提交
3251

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

3256
**示例:**
Z
zhangalong 已提交
3257

Z
zhangalong 已提交
3258
  ```js
3259
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3260
  let accountManager = account_osAccount.getAccountManager();
3261
  accountManager.getCreatedOsAccountsCount((err: BusinessError, count: number)=>{
J
jidong 已提交
3262
    if (err) {
C
chennian 已提交
3263
      console.log('getCreatedOsAccountsCount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3264
    } else {
C
chennian 已提交
3265
      console.log('getCreatedOsAccountsCount successfully, count: ' + count);
J
jidong 已提交
3266
    }
Z
zhangalong 已提交
3267 3268 3269
  });
  ```

J
jidong 已提交
3270
### getCreatedOsAccountsCount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3271

J
jidong 已提交
3272
getCreatedOsAccountsCount(): Promise&lt;number&gt;
Z
zhangalong 已提交
3273

J
jidong 已提交
3274
获取已创建的系统帐号数量,使用Promise异步回调。
Z
zhangalong 已提交
3275

A
Annie_wang 已提交
3276
> **说明:** 
3277
>
A
Annie_wang 已提交
3278
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountCount](#getosaccountcount9-1)。
3279

J
jidong 已提交
3280
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3281 3282

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

Z
zengyawen 已提交
3284
**返回值:**
Z
zhangalong 已提交
3285

J
jidong 已提交
3286 3287 3288
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回已创建的系统帐号的数量。 |
Z
zengyawen 已提交
3289

3290
**示例:**
Z
zhangalong 已提交
3291

Z
zhangalong 已提交
3292
  ```js
3293
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3294
  let accountManager = account_osAccount.getAccountManager();
3295
  accountManager.getCreatedOsAccountsCount().then((count: number) => {
C
chennian 已提交
3296
    console.log('getCreatedOsAccountsCount successfully, count: ' + count);
3297
  }).catch((err: BusinessError) => {
C
chennian 已提交
3298
    console.log('getCreatedOsAccountsCount failed, error: ' + JSON.stringify(err));
Z
zhangalong 已提交
3299 3300 3301
  });
  ```

J
jidong 已提交
3302
### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3303

J
jidong 已提交
3304
getOsAccountLocalIdFromProcess(callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3305

J
jidong 已提交
3306
获取当前进程所属的系统帐号ID,使用callback异步回调。
Z
zengyawen 已提交
3307

A
Annie_wang 已提交
3308
> **说明:** 
J
jidong 已提交
3309
>
C
cclicn 已提交
3310
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9)。
Z
zengyawen 已提交
3311 3312 3313 3314

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

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

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

J
jidong 已提交
3320
**示例:**
Z
zhangalong 已提交
3321

Z
zhangalong 已提交
3322
  ```js
3323
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3324
  let accountManager = account_osAccount.getAccountManager();
3325
  accountManager.getOsAccountLocalIdFromProcess((err: BusinessError, localId: number) => {
J
jidong 已提交
3326
    if (err) {
C
chennian 已提交
3327
      console.log('getOsAccountLocalIdFromProcess failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3328
    } else {
C
chennian 已提交
3329
      console.log('getOsAccountLocalIdFromProcess failed, error: ' + localId);
J
jidong 已提交
3330 3331
    }
  });
Z
zhangalong 已提交
3332 3333
  ```

J
jidong 已提交
3334
### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3335

J
jidong 已提交
3336
getOsAccountLocalIdFromProcess(): Promise&lt;number&gt;
Z
zhangalong 已提交
3337

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

A
Annie_wang 已提交
3340
> **说明:**
J
jidong 已提交
3341
>
C
cclicn 已提交
3342
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9-1)。
Z
zhangalong 已提交
3343

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

Z
zengyawen 已提交
3346 3347
**返回值:**

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

J
jidong 已提交
3352
**示例:**
Z
zhangalong 已提交
3353

Z
zhangalong 已提交
3354
  ```js
3355
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3356
  let accountManager = account_osAccount.getAccountManager();
3357
  accountManager.getOsAccountLocalIdFromProcess().then((localId: number) => {
J
jidong 已提交
3358
    console.log('getOsAccountLocalIdFromProcess successfully, localId: ' + localId);
3359
  }).catch((err: BusinessError) => {
C
chennian 已提交
3360
    console.log('getOsAccountLocalIdFromProcess failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3361
  });
Z
zhangalong 已提交
3362 3363
  ```

J
jidong 已提交
3364
### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
Z
zhangalong 已提交
3365

J
jidong 已提交
3366
getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3367

J
jidong 已提交
3368
根据uid查询对应的系统帐号ID。使用callback异步回调。
Z
zengyawen 已提交
3369

A
Annie_wang 已提交
3370
> **说明:** 
J
jidong 已提交
3371
>
C
cclicn 已提交
3372
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9)。
Z
zhangalong 已提交
3373

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

Z
zengyawen 已提交
3376 3377
**参数:**

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

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

Z
zhangalong 已提交
3385
  ```js
3386
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3387
  let accountManager = account_osAccount.getAccountManager();
3388 3389
  let uid: number = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid, (err: BusinessError, localId: number) => {
J
jidong 已提交
3390
    if (err) {
C
chennian 已提交
3391
      console.log('getOsAccountLocalIdFromUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3392
    } else {
C
chennian 已提交
3393
      console.log('getOsAccountLocalIdFromUid successfully, localId: ' + localId);
J
jidong 已提交
3394 3395
    }
  });
Z
zhangalong 已提交
3396 3397
  ```

J
jidong 已提交
3398
### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
Z
zhangalong 已提交
3399

J
jidong 已提交
3400
getOsAccountLocalIdFromUid(uid: number): Promise&lt;number&gt;
Z
zhangalong 已提交
3401

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

A
Annie_wang 已提交
3404
> **说明:** 
J
jidong 已提交
3405
>
C
cclicn 已提交
3406
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9-1)。
Z
zhangalong 已提交
3407

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

Z
zengyawen 已提交
3410
**参数:**
Z
zhangalong 已提交
3411

J
jidong 已提交
3412 3413 3414
| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |
Z
zhangalong 已提交
3415

Z
zengyawen 已提交
3416 3417
**返回值:**

J
jidong 已提交
3418 3419 3420
| 类型                  | 说明                                  |
| :-------------------- | :----------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回uid对应的系统帐号ID。 |
Z
zengyawen 已提交
3421

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

Z
zhangalong 已提交
3424
  ```js
3425
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3426
  let accountManager = account_osAccount.getAccountManager();
3427 3428
  let uid: number = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid).then((localId: number) => {
C
chennian 已提交
3429
    console.log('getOsAccountLocalIdFromUid successfully, localId: ' + localId);
3430
  }).catch((err: BusinessError) => {
C
chennian 已提交
3431
    console.log('getOsAccountLocalIdFromUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3432
  });
3433 3434
  ```

J
jidong 已提交
3435
### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3436

J
jidong 已提交
3437 3438 3439 3440
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void

根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用callback异步回调。

A
Annie_wang 已提交
3441
> **说明:** 
J
jidong 已提交
3442
>
C
cclicn 已提交
3443
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9)。
3444

J
jidong 已提交
3445
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3446 3447 3448 3449 3450

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

**参数:**

J
jidong 已提交
3451 3452 3453 3454
| 参数名     | 类型                                    | 必填 | 说明                                                                         |
| ---------- | --------------------------------------- | ---- | --------------------------------------------------------------------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。                                                                |
| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调函数,如果获取成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。 |
3455

J
jidong 已提交
3456
**示例:**
3457 3458

  ```js
3459
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
3460
  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3461
  let accountManager = account_osAccount.getAccountManager();
3462
  accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err: BusinessError, localId: number) => {
J
jidong 已提交
3463
    if (err) {
C
chennian 已提交
3464
      console.log('getOsAccountLocalIdFromDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3465
    } else {
C
chennian 已提交
3466
      console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
J
jidong 已提交
3467 3468
    }
  });
3469 3470
  ```

J
jidong 已提交
3471
### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3472

J
jidong 已提交
3473 3474 3475 3476
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;

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

A
Annie_wang 已提交
3477
> **说明:** 
J
jidong 已提交
3478
>
C
cclicn 已提交
3479
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9-1)。
3480

J
jidong 已提交
3481
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3482 3483 3484 3485 3486

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

**参数:**

J
jidong 已提交
3487 3488 3489
| 参数名     | 类型                                    | 必填 | 说明         |
| ---------- | --------------------------------------- | ---- | ------------ |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。 |
3490 3491 3492

**返回值:**

J
jidong 已提交
3493 3494 3495
| 类型                  | 说明                                    |
| :-------------------- | :------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回域帐号关联的系统帐号ID。 |
3496

J
jidong 已提交
3497
**示例:**
3498 3499

  ```js
3500
  import { BusinessError } from '@ohos.base';
3501
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
3502
  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3503
  accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((localId: number) => {
J
jidong 已提交
3504
    console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
3505
  }).catch((err: BusinessError) => {
C
chennian 已提交
3506
    console.log('getOsAccountLocalIdFromDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3507
  });
Z
zhangalong 已提交
3508 3509
  ```

J
jidong 已提交
3510
### getOsAccountAllConstraints<sup>(deprecated)</sup>
Z
zhangalong 已提交
3511

J
jidong 已提交
3512
getOsAccountAllConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
Z
zhangalong 已提交
3513

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

A
Annie_wang 已提交
3516
> **说明:** 
3517
>
A
Annie_wang 已提交
3518
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9)。
J
jidong 已提交
3519 3520

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

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

Z
zengyawen 已提交
3524
**参数:**
Z
zhangalong 已提交
3525

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

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

Z
zhangalong 已提交
3533
  ```js
3534
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3535
  let accountManager = account_osAccount.getAccountManager();
3536 3537
  let localId: number = 100;
  accountManager.getOsAccountAllConstraints(localId, (err: BusinessError, constraints: string[])=>{
J
jidong 已提交
3538 3539
    console.log('getOsAccountAllConstraints err:' + JSON.stringify(err));
    console.log('getOsAccountAllConstraints:' + JSON.stringify(constraints));
Z
zhangalong 已提交
3540 3541 3542
  });
  ```

J
jidong 已提交
3543
### getOsAccountAllConstraints<sup>(deprecated)</sup>
Z
zhangalong 已提交
3544

J
jidong 已提交
3545
getOsAccountAllConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;
Z
zhangalong 已提交
3546

A
Annie_wang 已提交
3547
> **说明:** 
3548
>
A
Annie_wang 已提交
3549
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9-1)。
J
jidong 已提交
3550 3551 3552 3553

获取指定系统帐号的全部约束。使用Promise异步回调。

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

Z
zengyawen 已提交
3555 3556 3557
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
3559 3560 3561
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
3562

Z
zengyawen 已提交
3563
**返回值:**
Z
zhangalong 已提交
3564

J
jidong 已提交
3565 3566 3567
| 类型                               | 说明                                                         |
| :--------------------------------- | :----------------------------------------------------------- |
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回指定系统帐号的全部[约束](#系统帐号约束列表)。 |
Z
zhangalong 已提交
3568

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

Z
zhangalong 已提交
3571
  ```js
3572
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3573
  let accountManager = account_osAccount.getAccountManager();
3574 3575
  let localId: number = 100;
  accountManager.getOsAccountAllConstraints(localId).then((constraints: string[]) => {
J
jidong 已提交
3576
    console.log('getOsAccountAllConstraints, constraints: ' + constraints);
3577
  }).catch((err: BusinessError) => {
C
chennian 已提交
3578
    console.log('getOsAccountAllConstraints err: ' + JSON.stringify(err));
Z
zhangalong 已提交
3579 3580 3581
  });
  ```

J
jidong 已提交
3582
### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3583

J
jidong 已提交
3584 3585 3586
queryActivatedOsAccountIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void

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

A
Annie_wang 已提交
3588
> **说明:** 
J
jidong 已提交
3589
>
C
cclicn 已提交
3590
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9)。
3591 3592 3593 3594 3595

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

**参数:**

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

J
jidong 已提交
3600
**示例:**
3601 3602

  ```js
3603
  import { BusinessError } from '@ohos.base';
3604
  let accountManager = account_osAccount.getAccountManager();
3605
  accountManager.queryActivatedOsAccountIds((err: BusinessError, idArray: number[])=>{
J
jidong 已提交
3606 3607 3608 3609 3610 3611
    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]);
    }
  });
3612 3613
  ```

J
jidong 已提交
3614
### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3615

J
jidong 已提交
3616
queryActivatedOsAccountIds(): Promise&lt;Array&lt;number&gt;&gt;
3617

A
Annie_wang 已提交
3618
> **说明:** 
J
jidong 已提交
3619
>
C
cclicn 已提交
3620
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9-1)。
3621

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

J
jidong 已提交
3624
**系统能力:** SystemCapability.Account.OsAccount
3625 3626 3627

**返回值:**

J
jidong 已提交
3628 3629 3630
| 类型                               | 说明                                               |
| ---------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;number&gt;&gt; | Promise对象,返回当前处于激活状态的系统帐号的ID列表。 |
3631

J
jidong 已提交
3632
**示例:**
3633 3634

  ```js
3635
  import { BusinessError } from '@ohos.base';
3636
  let accountManager = account_osAccount.getAccountManager();
3637
  accountManager.queryActivatedOsAccountIds().then((idArray: number[]) => {
J
jidong 已提交
3638
    console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
3639
  }).catch((err: BusinessError) => {
C
chennian 已提交
3640
    console.log('queryActivatedOsAccountIds err: ' + JSON.stringify(err));
J
jidong 已提交
3641
  });
3642 3643
  ```

J
jidong 已提交
3644
### queryCurrentOsAccount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3645

J
jidong 已提交
3646
queryCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void
Z
zhangalong 已提交
3647

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

A
Annie_wang 已提交
3650
> **说明:** 
3651
>
A
Annie_wang 已提交
3652
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9)。
J
jidong 已提交
3653 3654

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

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

Z
zengyawen 已提交
3658
**参数:**
Z
zhangalong 已提交
3659

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

J
jidong 已提交
3664
**示例:**
Z
zhangalong 已提交
3665

Z
zhangalong 已提交
3666
  ```js
3667
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3668
  let accountManager = account_osAccount.getAccountManager();
3669
  accountManager.queryCurrentOsAccount((err: BusinessError, curAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
3670 3671
    console.log('queryCurrentOsAccount err:' + JSON.stringify(err));
    console.log('queryCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
Z
zhangalong 已提交
3672 3673 3674
  });
  ```

J
jidong 已提交
3675
### queryCurrentOsAccount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3676

J
jidong 已提交
3677
queryCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
Z
zhangalong 已提交
3678

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

A
Annie_wang 已提交
3681
> **说明:** 
3682
>
A
Annie_wang 已提交
3683
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9-1)。
Z
zengyawen 已提交
3684

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

J
jidong 已提交
3687
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
3688

Z
zengyawen 已提交
3689
**返回值:**
Z
zhangalong 已提交
3690

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

J
jidong 已提交
3695
**示例:**
Z
zhangalong 已提交
3696

Z
zhangalong 已提交
3697
  ```js
3698
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3699
  let accountManager = account_osAccount.getAccountManager();
3700
  accountManager.queryCurrentOsAccount().then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
3701
    console.log('queryCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
3702
  }).catch((err: BusinessError) => {
C
chennian 已提交
3703
    console.log('queryCurrentOsAccount err: ' + JSON.stringify(err));
Z
zhangalong 已提交
3704 3705 3706
  });
  ```

J
jidong 已提交
3707
### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3708

J
jidong 已提交
3709
getOsAccountTypeFromProcess(callback: AsyncCallback&lt;OsAccountType&gt;): void
Z
zhangalong 已提交
3710

J
jidong 已提交
3711
查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
Z
zengyawen 已提交
3712

A
Annie_wang 已提交
3713
> **说明:** 
J
jidong 已提交
3714
>
A
Annie_wang 已提交
3715
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9)。
Z
zhangalong 已提交
3716

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

Z
zengyawen 已提交
3719 3720
**参数:**

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

3725
**示例:**
Z
zhangalong 已提交
3726

Z
zhangalong 已提交
3727
  ```js
3728
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3729
  let accountManager = account_osAccount.getAccountManager();
3730
  accountManager.getOsAccountTypeFromProcess((err: BusinessError, accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
3731 3732 3733
    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
    console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
  });
Z
zhangalong 已提交
3734 3735
  ```

J
jidong 已提交
3736
### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3737

J
jidong 已提交
3738
getOsAccountTypeFromProcess(): Promise&lt;OsAccountType&gt;
Z
zhangalong 已提交
3739

J
jidong 已提交
3740
查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
Z
zengyawen 已提交
3741

A
Annie_wang 已提交
3742
> **说明:**
J
jidong 已提交
3743
>
A
Annie_wang 已提交
3744
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9-1)。
Z
zengyawen 已提交
3745 3746

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

J
jidong 已提交
3748
**返回值:**
Z
zhangalong 已提交
3749

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

3754
**示例:**
Z
zhangalong 已提交
3755

Z
zhangalong 已提交
3756
  ```js
3757
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3758
  let accountManager = account_osAccount.getAccountManager();
3759
  accountManager.getOsAccountTypeFromProcess().then((accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
3760
    console.log('getOsAccountTypeFromProcess, accountType: ' + accountType);
3761
  }).catch((err: BusinessError) => {
C
chennian 已提交
3762
    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
J
jidong 已提交
3763
  });
Z
zhangalong 已提交
3764 3765
  ```

J
jidong 已提交
3766
### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3767

J
jidong 已提交
3768
getDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void
3769

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

A
Annie_wang 已提交
3772
> **说明:** 
J
jidong 已提交
3773
>
A
Annie_wang 已提交
3774
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9)。
3775

J
jidong 已提交
3776
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS
3777 3778 3779 3780 3781

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

**参数:**

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

3786
**示例:**
3787 3788

  ```js
3789
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3790
  let accountManager = account_osAccount.getAccountManager();
3791
  accountManager.getDistributedVirtualDeviceId((err: BusinessError, virtualID: string) => {
J
jidong 已提交
3792 3793 3794
    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
    console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID);
  });
3795 3796
  ```

J
jidong 已提交
3797
### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3798

J
jidong 已提交
3799
getDistributedVirtualDeviceId(): Promise&lt;string&gt;
3800

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

A
Annie_wang 已提交
3803
> **说明:** 
J
jidong 已提交
3804
>
A
Annie_wang 已提交
3805
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9-1)。
3806

J
jidong 已提交
3807
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS
3808

J
jidong 已提交
3809
**系统能力:** SystemCapability.Account.OsAccount
3810 3811 3812

**返回值:**

J
jidong 已提交
3813 3814 3815
| 类型                  | 说明                              |
| --------------------- | --------------------------------- |
| Promise&lt;string&gt; | Promise对象,返回分布式虚拟设备ID。 |
3816

3817
**示例:**
3818 3819

  ```js
3820
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3821
  let accountManager = account_osAccount.getAccountManager();
3822
  accountManager.getDistributedVirtualDeviceId().then((virtualID: string) => {
J
jidong 已提交
3823
    console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID);
3824
  }).catch((err: BusinessError) => {
C
chennian 已提交
3825
    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
J
jidong 已提交
3826
  });
3827 3828
  ```

J
jidong 已提交
3829
### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3830

J
jidong 已提交
3831
getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void
3832

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

A
Annie_wang 已提交
3835
> **说明:** 
J
jidong 已提交
3836
>
C
cclicn 已提交
3837
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9)。
3838

3839 3840 3841 3842
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3843 3844 3845 3846
| 参数名       | 类型                        | 必填 | 说明                                                                               |
| ------------ | --------------------------- | ---- | -------------------------------------------------------------------------------- |
| serialNumber | number                      | 是   | 帐号SN码。                                                                        |
| callback     | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。 |
3847

J
jidong 已提交
3848
**示例:** 查询与SN码12345关联的系统帐号的ID
3849 3850

  ```js
3851
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3852
  let accountManager = account_osAccount.getAccountManager();
3853 3854
  let serialNumber: number = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err: BusinessError, localId: number)=>{
J
jidong 已提交
3855 3856 3857
    console.log('ger localId err:' + JSON.stringify(err));
    console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
  });
3858 3859
  ```

J
jidong 已提交
3860
### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3861

J
jidong 已提交
3862
getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise&lt;number&gt;
3863

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

A
Annie_wang 已提交
3866
> **说明:** 
J
jidong 已提交
3867
>
C
cclicn 已提交
3868
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9-1)。
3869

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

J
jidong 已提交
3872 3873 3874 3875 3876 3877
**参数:**

| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |

3878 3879 3880
**返回值:**

| 类型                  | 说明                                                         |
J
jidong 已提交
3881 3882
| --------------------- | -------------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与SN码关联的系统帐号的帐号ID。 |
3883

J
jidong 已提交
3884
**示例:** 查询与SN码12345关联的系统帐号的ID
3885 3886

  ```js
3887
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3888
  let accountManager = account_osAccount.getAccountManager();
3889 3890
  let serialNumber: number = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId: number) => {
J
jidong 已提交
3891
    console.log('getOsAccountLocalIdBySerialNumber localId: ' + localId);
3892
  }).catch((err: BusinessError) => {
C
chennian 已提交
3893
    console.log('getOsAccountLocalIdBySerialNumber err: ' + JSON.stringify(err));
J
jidong 已提交
3894
  });
3895 3896
  ```

J
jidong 已提交
3897
### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
3898

J
jidong 已提交
3899
getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void
3900

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

A
Annie_wang 已提交
3903
> **说明:** 
J
jidong 已提交
3904
>
C
cclicn 已提交
3905
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9)。
3906 3907 3908 3909 3910

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

**参数:**

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

J
jidong 已提交
3916
**示例:** 获取ID为100的系统帐号关联的SN码
3917 3918

  ```js
3919
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3920
  let accountManager = account_osAccount.getAccountManager();
3921 3922
  let localId: number = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId, (err: BusinessError, serialNumber: number)=>{
J
jidong 已提交
3923 3924 3925
    console.log('ger serialNumber err:' + JSON.stringify(err));
    console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
  });
3926 3927
  ```

J
jidong 已提交
3928
### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
3929

J
jidong 已提交
3930
getSerialNumberByOsAccountLocalId(localId: number): Promise&lt;number&gt;
3931

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

A
Annie_wang 已提交
3934
> **说明:** 
J
jidong 已提交
3935
>
C
cclicn 已提交
3936
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9-1)。
3937 3938 3939 3940 3941

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

**参数:**

J
jidong 已提交
3942 3943 3944
| 参数名  | 类型   | 必填 | 说明          |
| ------- | ------ | ---- | ----------- |
| localId | number | 是   | 系统帐号ID。 |
3945 3946 3947

**返回值:**

J
jidong 已提交
3948 3949 3950
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与该系统帐号关联的SN码。 |
3951

J
jidong 已提交
3952
**示例:** 获取ID为100的系统帐号关联的SN码
3953 3954

  ```js
3955
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3956
  let accountManager = account_osAccount.getAccountManager();
3957 3958
  let localId: number = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber: number) => {
J
jidong 已提交
3959
    console.log('getSerialNumberByOsAccountLocalId serialNumber: ' + serialNumber);
3960
  }).catch((err: BusinessError) => {
C
chennian 已提交
3961
    console.log('getSerialNumberByOsAccountLocalId err: ' + JSON.stringify(err));
J
jidong 已提交
3962
  });
3963 3964
  ```

3965 3966 3967 3968
## UserAuth<sup>8+</sup>

用户认证类。

J
jidong 已提交
3969
**系统接口:** 此接口为系统接口。
3970

3971 3972 3973 3974 3975 3976
### constructor<sup>8+</sup>

constructor()

创建用户认证的实例。

J
jidong 已提交
3977
**系统接口:** 此接口为系统接口。
3978

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

3981
**示例:**  
3982
  ```js
J
jidong 已提交
3983
  let userAuth = new account_osAccount.UserAuth();
3984 3985 3986 3987 3988 3989 3990 3991
  ```

### getVersion<sup>8+</sup>

getVersion(): number;

返回版本信息。

J
jidong 已提交
3992
**系统接口:** 此接口为系统接口。
3993 3994 3995 3996 3997 3998 3999 4000 4001

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

**返回值:**

| 类型   | 说明         |
| :----- | :----------- |
| number | 返回版本信息。|

4002
**示例:**  
4003
  ```js
J
jidong 已提交
4004
  let userAuth = new account_osAccount.UserAuth();
4005
  let version: number = userAuth.getVersion();
F
fanchenxuan 已提交
4006
  console.log('getVersion version = ' + version);
4007 4008 4009 4010 4011 4012
  ```

### getAvailableStatus<sup>8+</sup>

getAvailableStatus(authType: AuthType, authTrustLevel: AuthTrustLevel): number;

J
jidong 已提交
4013
获取指定认证类型和认证可信等级的认证能力的可用状态。
4014

J
jidong 已提交
4015
**系统接口:** 此接口为系统接口。
4016 4017 4018 4019 4020 4021 4022

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

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

**参数:**

J
jidong 已提交
4023 4024 4025 4026
| 参数名           | 类型                               | 必填 | 说明                       |
| --------------- | -----------------------------------| ---- | ------------------------- |
| authType        | [AuthType](#authtype8)             | 是   | 认证类型。     |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8) | 是   | 认证的可信等级。 |
4027 4028 4029

**返回值:**

J
jidong 已提交
4030 4031 4032 4033 4034 4035 4036 4037 4038 4039
| 类型   | 说明                           |
| ------ | ----------------------------- |
| number | 返回认证能力的可用状态。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType or authTrustLevel. |
4040

4041
**示例:**  
4042
  ```js
J
jidong 已提交
4043 4044 4045
  let userAuth = new account_osAccount.UserAuth();
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4046 4047 4048 4049 4050 4051
  try {
    let status = userAuth.getAvailableStatus(authType, authTrustLevel);
    console.log('getAvailableStatus status = ' + status);
  } catch (e) {
    console.log('getAvailableStatus exception = ' + JSON.stringify(e));
  }
4052 4053 4054 4055 4056 4057
  ```

### getProperty<sup>8+</sup>

getProperty(request: GetPropertyRequest, callback: AsyncCallback&lt;ExecutorProperty&gt;): void;

J
jidong 已提交
4058
基于指定的请求信息获取属性。使用callback异步回调。
4059

J
jidong 已提交
4060
**系统接口:** 此接口为系统接口。
4061 4062 4063 4064 4065 4066 4067 4068

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

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

**参数:**

| 参数名    | 类型                                                                    | 必填 | 说明                                |
J
jidong 已提交
4069
| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------ |
4070
| request  | [GetPropertyRequest](#getpropertyrequest8)                  | 是   | 请求信息,包括认证类型和属性类型列表。 |
J
jidong 已提交
4071 4072 4073 4074 4075 4076 4077 4078
| callback | AsyncCallback&lt;[ExecutorProperty](#executorproperty8)&gt; | 是   | 回调函数。如果获取成功,err为null,data为执行器属性信息;否则为错误对象。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid request. |
4079

4080
**示例:**
4081
  ```js
4082
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4083 4084
  let userAuth = new account_osAccount.UserAuth();
  let keys = [
4085
    account_osAccount.GetPropertyType.AUTH_SUB_TYPE,
J
jidong 已提交
4086 4087 4088
    account_osAccount.GetPropertyType.REMAIN_TIMES,
    account_osAccount.GetPropertyType.FREEZING_TIME
  ];
C
cclicn 已提交
4089
  let request: account_osAccount.GetPropertyRequest = {
J
jidong 已提交
4090 4091 4092
    authType: account_osAccount.AuthType.PIN,
    keys: keys
  };
4093
  try {
4094
    userAuth.getProperty(request, (err: BusinessError, result: account_osAccount.ExecutorProperty) => {
4095 4096 4097 4098 4099 4100
      console.log('getProperty err = ' + JSON.stringify(err));
      console.log('getProperty result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getProperty exception = ' + JSON.stringify(e));
  }
4101 4102 4103 4104
  ```

### getProperty<sup>8+</sup>

4105
getProperty(request: GetPropertyRequest): Promise&lt;ExecutorProperty&gt;;
4106

J
jidong 已提交
4107
基于指定的请求信息获取属性。使用Promise异步回调。
4108

J
jidong 已提交
4109
**系统接口:** 此接口为系统接口。
4110 4111 4112 4113 4114 4115 4116 4117 4118

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

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

**参数:**

| 参数名    | 类型                                                   | 必填 | 说明                                |
| -------- | ------------------------------------------------------ | ---- | ---------------------------------- |
4119
| request  | [GetPropertyRequest](#getpropertyrequest8) | 是   | 请求信息,包括认证类型和属性类型列表。 |
4120 4121 4122 4123 4124

**返回值:**

| 类型                                                              | 说明                                                 |
| :---------------------------------------------------------------- | :-------------------------------------------------- |
J
jidong 已提交
4125
| Promise&lt;[ExecutorProperty](#executorproperty8)&gt; | Promise对象,返回执行者属性信息。 |
4126

J
jidong 已提交
4127 4128 4129 4130 4131 4132 4133
**错误码:**

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

4134
**示例:**
4135
  ```js
4136
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4137 4138 4139 4140 4141 4142
  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 已提交
4143
  let request: account_osAccount.GetPropertyRequest = {
J
jidong 已提交
4144 4145 4146
    authType: account_osAccount.AuthType.PIN,
    keys: keys
  };
4147
  try {
4148
    userAuth.getProperty(request).then((result: account_osAccount.ExecutorProperty) => {
4149
      console.log('getProperty result = ' + JSON.stringify(result));
4150
    }).catch((err: BusinessError) => {
4151 4152 4153 4154 4155
      console.log('getProperty error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('getProperty exception = ' + JSON.stringify(e));
  }
4156 4157 4158 4159
  ```

### setProperty<sup>8+</sup>

4160
setProperty(request: SetPropertyRequest, callback: AsyncCallback&lt;void&gt;): void;
4161

J
jidong 已提交
4162
设置可用于初始化算法的属性。使用callback异步回调。
4163

J
jidong 已提交
4164
**系统接口:** 此接口为系统接口。
4165 4166 4167 4168 4169 4170 4171 4172 4173

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

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

**参数:**

| 参数名    | 类型                                                  | 必填 | 说明                                                                    |
| -------- | ----------------------------------------------------- | ---- | ---------------------------------------------------------------------- |
4174
| request  | [SetPropertyRequest](#setpropertyrequest8)| 是   | 请求信息,包括认证类型和要设置的密钥值。                                   |
4175
| callback | AsyncCallback&lt;void&gt;                           | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
4176

J
jidong 已提交
4177 4178 4179 4180 4181 4182 4183
**错误码:**

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

4184
**示例:**
4185
  ```js
4186
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4187
  let userAuth = new account_osAccount.UserAuth();
C
cclicn 已提交
4188
  let request: account_osAccount.SetPropertyRequest = {
J
jidong 已提交
4189 4190 4191 4192
    authType: account_osAccount.AuthType.PIN,
    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
    setInfo: new Uint8Array([0])
  };
4193
  try {
4194
    userAuth.setProperty(request, (err: BusinessError) => {
4195 4196 4197 4198 4199
      if (err) {
        console.log('setProperty failed, error = ' + JSON.stringify(err));
      } else {
        console.log('setProperty successfully');
      }
4200 4201 4202 4203
    });
  } catch (e) {
    console.log('setProperty exception = ' + JSON.stringify(e));
  }
4204 4205 4206 4207
  ```

### setProperty<sup>8+</sup>

4208
setProperty(request: SetPropertyRequest): Promise&lt;void&gt;;
4209

J
jidong 已提交
4210
设置可用于初始化算法的属性。使用Promise异步回调。
4211

J
jidong 已提交
4212
**系统接口:** 此接口为系统接口。
4213 4214 4215 4216 4217 4218 4219

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

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

**参数:**

J
jidong 已提交
4220 4221
| 参数名    | 类型                                       | 必填 | 说明                                      |
| -------- | ------------------------------------------ | ---- | ---------------------------------------- |
4222
| request  | [SetPropertyRequest](#setpropertyrequest8) | 是   | 请求信息,包括身份验证类型和要设置的密钥值。 |
4223 4224 4225

**返回值:**

J
jidong 已提交
4226 4227
| 类型                  | 说明                                                           |
| :-------------------- | :------------------------------------------------------------ |
A
Annie_wang 已提交
4228
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
4229

J
jidong 已提交
4230 4231 4232 4233 4234 4235 4236
**错误码:**

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

4237
**示例:**
4238
  ```js
4239
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4240
  let userAuth = new account_osAccount.UserAuth();
C
cclicn 已提交
4241
  let request2: account_osAccount.SetPropertyRequest = {
J
jidong 已提交
4242 4243 4244 4245
    authType: account_osAccount.AuthType.PIN,
    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
    setInfo: new Uint8Array([0])
  };
4246
  try {
4247
    userAuth.setProperty(request2).then(() => {
4248
      console.log('setProperty successfully');
4249
    }).catch((err: BusinessError) => {
4250
      console.log('setProperty failed, error = ' + JSON.stringify(err));
4251 4252 4253 4254
    });
  } catch (e) {
    console.log('setProperty exception = ' + JSON.stringify(e));
  }
4255 4256 4257 4258 4259 4260
  ```

### auth<sup>8+</sup>

auth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

J
jidong 已提交
4261
认证当前用户。使用callback异步回调。
4262

J
jidong 已提交
4263
**系统接口:** 此接口为系统接口。
4264 4265 4266 4267 4268 4269 4270

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

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

**参数:**

J
jidong 已提交
4271 4272
| 参数名           | 类型                                     | 必填 | 说明                                |
| --------------- | ---------------------------------------- | --- | ------------------------------------ |
J
jidong 已提交
4273
| challenge       | Uint8Array                               | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。|
4274 4275
| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
J
jidong 已提交
4276
| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4277 4278 4279 4280

**返回值:**

| 类型        | 说明               |
J
jidong 已提交
4281
| ---------- | ------------------ |
4282 4283
| Uint8Array | 返回取消的上下文ID。 |

J
jidong 已提交
4284 4285 4286 4287 4288
**错误码:**

| 错误码ID | 错误信息          |
| -------- | --------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
4289
| 12300002 | Invalid challenge, authType or authTrustLevel. |
J
jidong 已提交
4290
| 12300101 | Credential is incorrect. |
4291
| 12300102 | Credential not enrolled. |
J
jidong 已提交
4292 4293
| 12300105 | Unsupported authTrustLevel. |
| 12300106 | Unsupported authType. |
4294
| 12300109 | Authentication is canceled. |
C
chennian 已提交
4295
| 12300110 | Authentication is locked. |
J
jidong 已提交
4296
| 12300111 | Authentication timeout. |
C
chennian 已提交
4297
| 12300112 | Authentication service is busy. |
J
jidong 已提交
4298

4299
**示例:**
4300
  ```js
J
jidong 已提交
4301 4302 4303 4304
  let userAuth = new account_osAccount.UserAuth();
  let challenge = new Uint8Array([0]);
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4305 4306
  try {
    userAuth.auth(challenge, authType, authTrustLevel, {
4307
      onResult: (result,extraInfo) => {
4308 4309 4310 4311 4312 4313 4314
          console.log('auth result = ' + result);
          console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('auth exception = ' + JSON.stringify(e));
  }
4315 4316 4317 4318 4319 4320
  ```

### authUser<sup>8+</sup>

authUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

J
jidong 已提交
4321
认证指定用户。使用callback异步回调。
4322

J
jidong 已提交
4323
**系统接口:** 此接口为系统接口。
4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334

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

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

**参数:**

| 参数名           | 类型                                                 | 必填 | 说明                                |
| --------------- | ---------------------------------------------------- | --- | ------------------------------------ |
| userId          | number                                               | 是  | 指示用户身份。                        |
| challenge       | Uint8Array                                           | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。                          |
4335 4336
| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
J
jidong 已提交
4337
| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4338 4339 4340 4341

**返回值:**

| 类型        | 说明               |
J
jidong 已提交
4342
| ---------- | ------------------ |
4343 4344
| Uint8Array | 返回取消的上下文ID。 |

J
jidong 已提交
4345 4346 4347 4348 4349
**错误码:**

| 错误码ID | 错误信息          |
| -------- | --------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
4350
| 12300002 | Invalid userId, challenge, authType or authTrustLevel. |
J
jidong 已提交
4351
| 12300101 | Credential is incorrect. |
4352
| 12300102 | Credential not enrolled. |
J
jidong 已提交
4353 4354
| 12300105 | Unsupported authTrustLevel. |
| 12300106 | Unsupported authType. |
4355
| 12300109 | Authentication is canceled. |
C
chennian 已提交
4356
| 12300110 | Authentication is locked. |
J
jidong 已提交
4357
| 12300111 | Authentication timeout. |
C
chennian 已提交
4358
| 12300112 | Authentication service is busy. |
J
jidong 已提交
4359

4360
**示例:**
4361
  ```js
J
jidong 已提交
4362
  let userAuth = new account_osAccount.UserAuth();
4363
  let userID: number = 100;
J
jidong 已提交
4364 4365 4366
  let challenge = new Uint8Array([0]);
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4367 4368
  try {
    userAuth.authUser(userID, challenge, authType, authTrustLevel, {
4369
      onResult: (result,extraInfo) => {
J
jidong 已提交
4370 4371
        console.log('authUser result = ' + result);
        console.log('authUser extraInfo = ' + JSON.stringify(extraInfo));
4372 4373 4374 4375 4376
      }
    });
  } catch (e) {
    console.log('authUser exception = ' + JSON.stringify(e));
  }
4377 4378 4379 4380
  ```

### cancelAuth<sup>8+</sup>

4381
cancelAuth(contextID: Uint8Array): void;
4382

J
jidong 已提交
4383
取消指定的认证操作。
4384

J
jidong 已提交
4385
**系统接口:** 此接口为系统接口。
4386 4387 4388 4389 4390 4391 4392 4393 4394

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

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

**参数:**

| 参数名    | 类型       | 必填  | 说明                                        |
| ----------| ---------- | ---- | ------------------------------------------ |
J
jidong 已提交
4395 4396 4397 4398 4399 4400 4401 4402
| contextId | Uint8Array | 是   | 指示身份验证上下文ID,此ID动态生成没有具体值。 |

**错误码:**

| 错误码ID | 错误信息            |
| -------- | ------------------ |
| 12300001 | System service exception. |
| 12300002 | Invalid contextId. |
4403

4404
**示例:**
4405
  ```js
J
jidong 已提交
4406
  let userAuth = new account_osAccount.UserAuth();
4407
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
4408
  let challenge = new Uint8Array([0]);
J
jidong 已提交
4409
  let contextId = userAuth.auth(challenge, account_osAccount.AuthType.PIN, account_osAccount.AuthTrustLevel.ATL1, {
4410
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
4411 4412
      console.log('auth result = ' + result);
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
4413 4414
    }
  });
4415
  try {
J
jidong 已提交
4416
    userAuth.cancelAuth(contextId);
4417 4418 4419
  } catch (e) {
    console.log('cancelAuth exception = ' + JSON.stringify(e));
  }
4420 4421 4422 4423
  ```

## PINAuth<sup>8+</sup>

W
wangyihui 已提交
4424
PIN码认证基类。
4425

J
jidong 已提交
4426
**系统接口:** 此接口为系统接口。
4427

4428 4429 4430 4431
### constructor<sup>8+</sup>

constructor()

W
wangyihui 已提交
4432
创建PIN码认证的实例。
4433

J
jidong 已提交
4434
**系统接口:** 此接口为系统接口。
L
lichenchen 已提交
4435

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

4438
**示例:**  
4439
  ```js
4440
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
4441 4442
  ```

4443
### registerInputer<sup>8+</sup>
4444

J
jidong 已提交
4445
registerInputer(inputer: IInputer): void;
4446

J
jidong 已提交
4447
注册PIN码输入器。
4448

J
jidong 已提交
4449
**系统接口:** 此接口为系统接口。
4450 4451 4452 4453 4454 4455 4456

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

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

**参数:**

J
jidong 已提交
4457 4458 4459
| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| inputer   | [IInputer](#iinputer8)  | 是  | PIN码输入器,用于获取PIN码。 |
4460

J
jidong 已提交
4461 4462 4463 4464 4465
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
chennian 已提交
4466
| 12300002 | Invalid inputer. |
J
jidong 已提交
4467 4468
| 12300103 | Inputer already registered. |

4469
**示例:**
4470
  ```js
4471
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
4472
  let password = new Uint8Array([0, 0, 0, 0, 0]);
4473 4474
  try {
    let result = pinAuth.registerInputer({
4475
        onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
4476
          callback.onSetData(authSubType, password);
4477 4478 4479 4480 4481 4482
        }
    });
    console.log('registerInputer result = ' + result);
  } catch (e) {
    console.log('registerInputer exception = ' + JSON.stringify(e));
  }
4483 4484
  ```

4485
### unregisterInputer<sup>8+</sup>
4486 4487 4488

unregisterInputer(): void;

J
jidong 已提交
4489
解注册PIN码输入器。
4490

J
jidong 已提交
4491
**系统接口:** 此接口为系统接口。
4492 4493 4494 4495 4496

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

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

4497
**示例:**
4498
  ```js
4499
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
4500 4501 4502
  pinAuth.unregisterInputer();
  ```

J
jidong 已提交
4503
## InputerManager <sup>9+</sup>
W
wangyihui 已提交
4504 4505 4506

凭据输入管理器。

J
jidong 已提交
4507
### registerInputer<sup>9+</sup>
W
wangyihui 已提交
4508

J
jidong 已提交
4509
static registerInputer(authType: AuthType, inputer: IInputer): void
W
wangyihui 已提交
4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530

注册凭据输入器。

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

**系统能力:** 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 已提交
4531
| 12300002 | Invalid authType or inputer. |
W
wangyihui 已提交
4532 4533 4534 4535 4536 4537
| 12300103 | The credential inputer has been registered. |
| 12300106 | Unsupported authType. |

**示例:**
  ```js
  let authType = account_osAccount.AuthType.DOMAIN;
4538
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0]);
W
wangyihui 已提交
4539
  try {
J
jidong 已提交
4540
    account_osAccount.InputerManager.registerInputer(authType, {
4541
        onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
4542 4543 4544 4545 4546 4547 4548 4549 4550
          callback.onSetData(authSubType, password);
        }
    });
    console.log('registerInputer success.');
  } catch (e) {
    console.log('registerInputer exception = ' + JSON.stringify(e));
  }
  ```

J
jidong 已提交
4551
### unregisterInputer<sup>9+</sup>
W
wangyihui 已提交
4552

J
jidong 已提交
4553
static unregisterInputer(authType: AuthType): void
W
wangyihui 已提交
4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578

解注册凭据输入器。

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

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

**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL 或 ohos.permission.MANAGE_USER_IDM

**参数:**

| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| authType   | [AuthType](#authtype8)  | 是  | 认证类型。 |

**错误码:**

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

**示例:**
  ```js
  let authType = account_osAccount.AuthType.DOMAIN;
  try {
J
jidong 已提交
4579
    account_osAccount.InputerManager.unregisterInputer(authType);
W
wangyihui 已提交
4580 4581
    console.log('unregisterInputer success.');
  } catch(err) {
C
chennian 已提交
4582
    console.log('unregisterInputer err:' + JSON.stringify(err));
W
wangyihui 已提交
4583 4584 4585
  }
  ```

J
jidong 已提交
4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611
## 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)  | 是   | 指示认证结果回调。|

**示例:**
  ```js
4612
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4613
  let plugin: account_osAccount.DomainPlugin = {
4614 4615
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4616
      // mock authentication
J
jidong 已提交
4617
      // notify authentication result
C
cclicn 已提交
4618
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4619 4620 4621
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4622 4623
      };
      callback.onResult(0, result);
J
jidong 已提交
4624
    },
4625 4626 4627 4628
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4629
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4630 4631 4632 4633 4634 4635 4636 4637 4638
                    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 已提交
4639 4640 4641 4642
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin);
  let userAuth = new account_osAccount.UserAuth();
  let challenge = new Uint8Array([0]);
J
jidong 已提交
4643
  let authType = account_osAccount.AuthType.DOMAIN;
J
jidong 已提交
4644 4645 4646
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
  try {
    userAuth.auth(challenge, authType, authTrustLevel, {
4647
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
4648 4649 4650 4651 4652 4653 4654 4655 4656
          console.log('auth resultCode = ' + resultCode);
          console.log('auth authResult = ' + JSON.stringify(authResult));
      }
    });
  } catch (err) {
    console.log('auth exception = ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675
### authWithPopup<sup>10+</sup>

authWithPopup(domainAccountInfo: DomainAccountInfo, callback: IUserAuthCallback): void

弹窗认证指定的域帐号。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**示例:**
  ```js
4676
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4677
  let plugin: account_osAccount.DomainPlugin = {
4678 4679 4680 4681
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4682 4683
      // mock authentication
      // notify authentication result
C
cclicn 已提交
4684
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4685 4686 4687
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4688 4689
      };
      callback.onResult(0, result);
J
jidong 已提交
4690
    },
4691 4692
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4693
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4694 4695 4696 4697 4698 4699 4700 4701 4702
                    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 已提交
4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726
  }
  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)  | 是   | 指示认证结果回调。|

**示例:**
  ```js
4727
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4728
  let plugin: account_osAccount.DomainPlugin = {
4729 4730 4731 4732 4733 4734
    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 已提交
4735 4736
      // mock authentication
      // notify authentication result
C
cclicn 已提交
4737
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4738 4739 4740
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4741 4742
      };
      callback.onResult(0, result);
J
jidong 已提交
4743
    },
4744
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4745 4746 4747 4748 4749 4750 4751 4752 4753
                    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 已提交
4754 4755 4756 4757 4758 4759
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### getAccountInfo<sup>10+</sup>

4760
getAccountInfo(options: GetDomainAccountInfoPluginOptions, callback: AsyncCallback&lt;DomainAccountInfo&gt;): void
J
jidong 已提交
4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771

查询指定域帐号的信息。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
4772
| options   | [GetDomainAccountInfoPluginOptions](#getdomainaccountinfopluginoptions10)  | 是   | 指示域帐号信息。|
J
jidong 已提交
4773 4774 4775 4776
| callback   | AsyncCallback&lt;[DomainAccountInfo](#domainaccountinfo8)&gt; | 是   | 指示查询结果回调。|

**示例:**
  ```js
4777
  import { AsyncCallback, BusinessError } from '@ohos.base';
C
cclicn 已提交
4778
  let plugin: account_osAccount.DomainPlugin = {
4779 4780 4781 4782 4783 4784
    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) => {},
4785
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4786
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {
J
jidong 已提交
4787 4788
      // mock getting account information
      // notify result
C
cclicn 已提交
4789 4790 4791 4792 4793 4794
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let accountInfo: account_osAccount.DomainAccountInfo = {
4795 4796
        domain: options.domain,
        accountName: options.accountName,
C
chennian 已提交
4797
        accountId: 'xxxx'
C
cclicn 已提交
4798 4799
      };
      callback(code, accountInfo);
J
jidong 已提交
4800
    },
4801 4802 4803 4804 4805 4806 4807 4808
    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 已提交
4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831
  }
  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; | 是   | 指示查询结果回调。|

**示例:**
  ```js
4832
  import { AsyncCallback, BusinessError } from '@ohos.base';
C
cclicn 已提交
4833
  let plugin: account_osAccount.DomainPlugin = {
4834 4835 4836 4837 4838 4839
    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) => {},
4840
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4841 4842 4843
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {
C
cclicn 已提交
4844 4845 4846 4847 4848 4849
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let statusInfo: account_osAccount.AuthStatusInfo = {
J
jidong 已提交
4850 4851
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4852 4853
      };
      callback(code, statusInfo);
J
jidong 已提交
4854
    },
4855 4856 4857 4858 4859 4860
    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 已提交
4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883
  }
  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; | 是   | 指示绑定结果回调。|

**示例:**
  ```js
4884
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
4885
  let plugin: account_osAccount.DomainPlugin = {
4886 4887 4888 4889 4890 4891
    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) => {},
4892
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4893 4894 4895 4896 4897
                    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 已提交
4898 4899
      // mock unbinding operation
      // notify binding result
C
cclicn 已提交
4900 4901 4902 4903 4904 4905
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      callback(code);
J
jidong 已提交
4906
    },
4907 4908 4909 4910
    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 已提交
4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933
  }
  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; | 是   | 指示绑定结果回调。|

**示例:**
  ```js
4934
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
4935
  let plugin: account_osAccount.DomainPlugin = {
4936 4937 4938 4939 4940 4941
    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) => {},
4942
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4943 4944 4945 4946 4947 4948
                    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 已提交
4949 4950
      // mock unbinding operation
      // notify unbinding result
C
cclicn 已提交
4951 4952 4953 4954 4955 4956
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      callback(code);
J
jidong 已提交
4957
    },
4958 4959 4960
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984
  }
  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; | 是   | 指示检查结果回调。|

**示例:**
  ```js
4985
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
4986
  let plugin: account_osAccount.DomainPlugin = {
4987 4988 4989 4990 4991 4992
    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) => {},
4993
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4994 4995 4996 4997 4998 4999 5000 5001
                    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 已提交
5002 5003
      // mock checking operation
      // notify checking result
C
cclicn 已提交
5004 5005 5006 5007 5008
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
5009
      callback(code, true);
J
jidong 已提交
5010
    },
5011
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034
  }
  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; | 是   | 指示结果回调。|

**示例:**
  ```js
5035
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5036
  let plugin: account_osAccount.DomainPlugin = {
5037 5038 5039 5040 5041 5042
    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) => {},
5043
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5044 5045 5046 5047 5048 5049 5050 5051 5052
                    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 已提交
5053 5054
      // mock getting operation
      // notify result
C
cclicn 已提交
5055 5056 5057 5058 5059 5060
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let token: Uint8Array = new Uint8Array([0]);
5061
      callback(code, token);
J
jidong 已提交
5062 5063 5064 5065 5066
    }
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

J
jidong 已提交
5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091
## 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 已提交
5092
| 12300201 | The domain plugin has been registered. |
J
jidong 已提交
5093 5094 5095

**示例:**
  ```js
5096
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
5097
  let plugin: account_osAccount.DomainPlugin = {
5098 5099 5100 5101 5102 5103
    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) => {},
5104
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5105 5106 5107 5108 5109 5110 5111 5112 5113
                   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 已提交
5114 5115 5116 5117 5118
  }
  try {
    account_osAccount.DomainAccountManager.registerPlugin(plugin);
    console.log('registerPlugin success.');
  } catch(err) {
C
chennian 已提交
5119
    console.log('registerPlugin err:' + JSON.stringify(err));
J
jidong 已提交
5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140
  }
  ```

### unregisterPlugin<sup>9+</sup>

static unregisterPlugin(): void

注销域插件。

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

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

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

**示例:**
  ```js
  try {
    account_osAccount.DomainAccountManager.unregisterPlugin();
    console.log('unregisterPlugin success.');
  } catch(err) {
C
chennian 已提交
5141
    console.log('unregisterPlugin err:' + JSON.stringify(err));
J
jidong 已提交
5142 5143 5144
  }
  ```

J
jidong 已提交
5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168
### 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 已提交
5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179
| 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 已提交
5180 5181 5182

**示例:**
  ```js
C
cclicn 已提交
5183
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5184 5185
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5186 5187 5188 5189
  }
  let credential = new Uint8Array([0])
  try {
    account_osAccount.DomainAccountManager.auth(domainAccountInfo, credential, {
5190
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221
        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 已提交
5222 5223 5224 5225 5226 5227 5228 5229 5230 5231
| 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 已提交
5232 5233 5234 5235 5236

**示例:**
  ```js
  try {
    account_osAccount.DomainAccountManager.authWithPopup({
5237
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269
        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 已提交
5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280
| 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 已提交
5281 5282 5283 5284 5285

**示例:**
  ```js
  try {
    account_osAccount.DomainAccountManager.authWithPopup(100, {
5286
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318
        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 已提交
5319 5320 5321
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
5322
| 12300111 | Operation timeout. |
J
jidong 已提交
5323 5324 5325

**示例:**
  ```js
5326
  import { BusinessError } from '@ohos.base';
5327
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5328 5329
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5330 5331
  }
  try {
5332
    account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo, (err: BusinessError, result: boolean) => {
J
jidong 已提交
5333
      if (err) {
C
chennian 已提交
5334
        console.log('call hasAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5335
      } else {
C
chennian 已提交
5336
        console.log('hasAccount result: ' + result);
J
jidong 已提交
5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371
      }
    });
  } 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 已提交
5372 5373 5374
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
5375
| 12300111 | Operation timeout. |
J
jidong 已提交
5376 5377 5378

**示例:**
  ```js
5379
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5380
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5381 5382
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5383 5384
  }
  try {
5385
    account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo).then((result: boolean) => {
C
chennian 已提交
5386
      console.log('hasAccount result: ' + result);
5387
    }).catch((err: BusinessError) => {
C
chennian 已提交
5388
        console.log('call hasAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5389 5390 5391 5392 5393 5394
    });
  } catch (err) {
    console.log('hasAccount exception = ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424
### 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. |

**示例:**
  ```js
5425
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5426
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5427 5428 5429
    domain: 'CHINA',
    accountName: 'zhangsan',
    accountId: '123456'
J
jidong 已提交
5430 5431 5432
  }
  let token = new Uint8Array([0])
  try {
5433
    account_osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token, (err: BusinessError) => {
J
jidong 已提交
5434
      if (err != null) {
C
chennian 已提交
5435
        console.log('updateAccountToken failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5436
      } else {
C
chennian 已提交
5437
        console.log('updateAccountToken successfully');
J
jidong 已提交
5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479
      }
    })
  } 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. |

**示例:**
  ```js
5480
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5481
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5482 5483 5484
    domain: 'CHINA',
    accountName: 'zhangsan',
    accountId: '123456'
J
jidong 已提交
5485 5486 5487 5488
  }
  let token = new Uint8Array([0])
  try {
    account_osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token).then(() => {
C
chennian 已提交
5489
      console.log('updateAccountToken successfully');
5490
    }).catch((err: BusinessError) => {
C
chennian 已提交
5491
        console.log('updateAccountToken failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5492 5493 5494 5495 5496 5497
    });
  } catch (err) {
    console.log('updateAccountToken exception = ' + JSON.stringify(err));
  }
  ```

5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 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 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598
### 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. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
| 12300111 | Operation timeout. |

**示例:**
  ```js
  import { BusinessError } from '@ohos.base';
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
    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. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
| 12300111 | Operation timeout. |

**示例:**
  ```js
  import { BusinessError } from '@ohos.base';
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
    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));
  }
  ```

5599 5600 5601 5602
## UserIdentityManager<sup>8+</sup>

获取用户身份管理类。

J
jidong 已提交
5603
**系统接口:** 此接口为系统接口。
5604

5605 5606 5607 5608
### constructor<sup>8+</sup>

constructor()

J
jidong 已提交
5609
用户身份管理类的默认构造函数。
5610

J
jidong 已提交
5611
**系统接口:** 此接口为系统接口。
5612

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

5615
**示例:**  
5616
  ```js
J
jidong 已提交
5617
  let userIDM = new account_osAccount.UserIdentityManager();
5618 5619 5620 5621 5622 5623
  ```

### openSession<sup>8+</sup>

openSession(callback: AsyncCallback&lt;Uint8Array&gt;): void;

J
jidong 已提交
5624
打开会话,获取挑战值。使用callback异步回调。
5625

J
jidong 已提交
5626
**系统接口:** 此接口为系统接口。
5627 5628 5629 5630 5631 5632 5633

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

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

**参数:**

J
jidong 已提交
5634 5635 5636
| 参数名    | 类型                             | 必填 | 说明                                                            |
| -------- | -------------------------------- | ---- | -------------------------------------------------------------- |
| callback | AsyncCallback&lt;Uint8Array&gt;  | 是   | 回调函数。如果打开会话成功,err为null,data为挑战值;否则为错误对象。|
5637

J
jidong 已提交
5638 5639 5640 5641 5642 5643
**错误码:**

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

5644
**示例:**
5645
  ```js
5646
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5647
  let userIDM = new account_osAccount.UserIdentityManager();
5648
  try {
5649
    userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
5650 5651 5652 5653 5654 5655
        console.log('openSession error = ' + JSON.stringify(err));
        console.log('openSession challenge = ' + JSON.stringify(challenge));
    });
  } catch (e) {
    console.log('openSession exception = ' + JSON.stringify(e));
  }
5656 5657 5658 5659 5660 5661
  ```

### openSession<sup>8+</sup>

openSession(): Promise&lt;Uint8Array&gt;;

J
jidong 已提交
5662
打开会话,获取挑战值。使用Promise异步回调。
5663

J
jidong 已提交
5664
**系统接口:** 此接口为系统接口。
5665 5666 5667 5668 5669 5670 5671

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

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

**返回值:**

J
jidong 已提交
5672 5673 5674
| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;Uint8Array&gt; | Promise对象,返回挑战值。 |
5675

J
jidong 已提交
5676 5677 5678 5679 5680 5681
**错误码:**

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

5682
**示例:**
5683
  ```js
5684
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5685
  let userIDM = new account_osAccount.UserIdentityManager();
5686
  try {
5687
    userIDM.openSession().then((challengechallenge: Uint8Array) => {
5688
        console.info('openSession challenge = ' + JSON.stringify(challenge));
5689
    }).catch((err: BusinessError) => {
5690 5691 5692 5693 5694
        console.info('openSession error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('openSession exception = ' + JSON.stringify(e));
  }
5695 5696 5697 5698 5699 5700
  ```

### addCredential<sup>8+</sup>

addCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

J
jidong 已提交
5701
添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息。
5702

J
jidong 已提交
5703
**系统接口:** 此接口为系统接口。
5704 5705 5706 5707 5708 5709 5710

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

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

**参数:**

J
jidong 已提交
5711
| 参数名           | 类型                                 | 必填 | 说明                        |
J
jidong 已提交
5712
| --------------- | ------------------------------------ | --- | ---------------------------- |
J
jidong 已提交
5713 5714
| credentialInfo  | [CredentialInfo](#credentialinfo8)   | 是  | 指示凭据信息。                |
| callback        | [IIdmCallback](#iidmcallback8)       | 是  | 回调对象,返回添加凭据的结果。  |
5715

J
jidong 已提交
5716 5717 5718 5719 5720 5721 5722 5723
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialInfo, i.e. authType or authSubType. |
| 12300101 | Token is invalid. |
| 12300106 | Unsupported authType. |
5724 5725 5726
| 12300109 | Operation is canceled. |
| 12300111 | Operation timeout. |
| 12300115 | The number of credentials reaches the upper limit. |
J
jidong 已提交
5727

5728
**示例:**
5729
  ```js
5730 5731 5732
  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 已提交
5733
  pinAuth.registerInputer({
5734
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
5735
      callback.onSetData(authSubType, password);
J
jidong 已提交
5736 5737
    }
  });
5738
  let credentialInfo: account_osAccount.CredentialInfo = {
J
jidong 已提交
5739 5740 5741 5742 5743
    credType: account_osAccount.AuthType.PIN,
    credSubType: account_osAccount.AuthSubType.PIN_SIX,
    token: null
  };
  let userIDM = new account_osAccount.UserIdentityManager();
5744
  userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
5745
    try {
J
jidong 已提交
5746
    userIDM.addCredential(credentialInfo, {
5747
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
W
wangyihui 已提交
5748 5749
        console.log('addCredential result = ' + result);
        console.log('addCredential extraInfo = ' + extraInfo);
5750
      }
J
jidong 已提交
5751
    });
5752
    } catch (e) {
W
wangyihui 已提交
5753
      console.log('addCredential exception = ' + JSON.stringify(e));
5754
    }
J
jidong 已提交
5755
  });
5756 5757 5758 5759 5760 5761
  ```

### updateCredential<sup>8+</sup>

updateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

J
jidong 已提交
5762
更新凭据。使用callback异步回调。
5763

J
jidong 已提交
5764
**系统接口:** 此接口为系统接口。
5765 5766 5767 5768 5769 5770 5771

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

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

**参数:**

J
jidong 已提交
5772 5773 5774 5775
| 参数名           | 类型                                  | 必填 | 说明                     |
| --------------- | ------------------------------------- | --- | ------------------------- |
| credentialInfo  | [CredentialInfo](#credentialinfo8)    | 是  | 指示凭据信息。             |
| callback        | [IIdmCallback](#iidmcallback8)        | 是  | 回调对象,返回更新凭据的结果。 |
5776

J
jidong 已提交
5777 5778 5779 5780 5781 5782 5783
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialInfo, i.e. authType or authSubType or token. |
| 12300101 | Token is invalid. |
5784
| 12300102 | Credential not enrolled.|
J
jidong 已提交
5785
| 12300106 | Unsupported authType. |
5786 5787
| 12300109 | Operation is canceled. |
| 12300111 | Operation timeout. |
J
jidong 已提交
5788

5789
**示例:**
5790
  ```js
5791
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5792
  let userIDM = new account_osAccount.UserIdentityManager();
5793 5794 5795
  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 已提交
5796
  let credentialInfo: account_osAccount.CredentialInfo = {
J
jidong 已提交
5797 5798
    credType: account_osAccount.AuthType.PIN,
    credSubType: account_osAccount.AuthSubType.PIN_SIX,
C
cclicn 已提交
5799
    token: new Uint8Array([]),
J
jidong 已提交
5800 5801
  };
  pinAuth.registerInputer({
5802
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
5803
      callback.onSetData(authSubType, password);
J
jidong 已提交
5804 5805
    }
  });
5806
  userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
J
jidong 已提交
5807
    userAuth.auth(challenge, credentialInfo.credType, account_osAccount.AuthTrustLevel.ATL1, {
5808
      onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
J
jidong 已提交
5809 5810 5811
        if (result != account_osAccount.ResultCode.SUCCESS) {
          return;
        }
C
cclicn 已提交
5812 5813 5814
        if (extraInfo.token != null) {
          credentialInfo.token = extraInfo.token;
        }
5815 5816
        try {
          userIDM.updateCredential(credentialInfo, {
5817
            onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
5818 5819 5820 5821 5822 5823 5824
                console.log('updateCredential result = ' + result);
                console.log('updateCredential extraInfo = ' + extraInfo);
            }
          });
        } catch (e) {
          console.log('updateCredential exception = ' + JSON.stringify(e));
        }
5825
      }
J
jidong 已提交
5826 5827
    });
  });
5828 5829 5830 5831 5832 5833
  ```

### closeSession<sup>8+</sup>

closeSession(): void;

J
jidong 已提交
5834
关闭会话,结束IDM操作。
5835

J
jidong 已提交
5836
**系统接口:** 此接口为系统接口。
5837 5838 5839 5840 5841

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

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

5842
**示例:**
5843
  ```js
J
jidong 已提交
5844
  let userIDM = new account_osAccount.UserIdentityManager();
5845 5846 5847 5848 5849
  userIDM.closeSession();
  ```

### cancel<sup>8+</sup>

5850
cancel(challenge: Uint8Array): void;
5851 5852 5853

根据挑战值取消条目。

J
jidong 已提交
5854
**系统接口:** 此接口为系统接口。
5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865

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

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

**参数:**

| 参数名    | 类型        | 必填 | 说明   |
| -------- | ----------- | ---- | ----- |
| challenge | Uint8Array | 是   | 挑战值。 |

J
jidong 已提交
5866 5867 5868 5869 5870 5871
**错误码:**

| 错误码ID | 错误信息            |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid challenge. |
5872

5873
**示例:**
5874
  ```js
J
jidong 已提交
5875
  let userIDM = new account_osAccount.UserIdentityManager();
5876
  let challenge: Uint8Array = new Uint8Array([0]);
5877 5878 5879
  try {
    userIDM.cancel(challenge);
  } catch(err) {
C
chennian 已提交
5880
    console.log('cancel err:' + JSON.stringify(err));
5881
  }
5882 5883 5884 5885 5886 5887 5888 5889
  ```

### delUser<sup>8+</sup>

delUser(token: Uint8Array, callback: IIdmCallback): void;

删除具有身份验证令牌的用户,使用callback方式异步返回结果。

J
jidong 已提交
5890
**系统接口:** 此接口为系统接口。
5891 5892 5893 5894 5895 5896 5897

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

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

**参数:**

J
jidong 已提交
5898 5899 5900 5901
| 参数名    | 类型                           | 必填 | 说明                      |
| -------- | ------------------------------ | --- | ------------------------- |
| token    | Uint8Array                     | 是  | 身份验证令牌。             |
| callback | [IIdmCallback](#iidmcallback8) | 是  | 回调对象,返回删除用户的结果。|
5902

J
jidong 已提交
5903 5904 5905 5906 5907 5908 5909
**错误码:**

| 错误码ID | 错误信息        |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300101 | Token is invalid. |

5910
**示例:**
5911
  ```js
J
jidong 已提交
5912
  let userIDM = new account_osAccount.UserIdentityManager();
5913
  let token: Uint8Array = new Uint8Array([0]);
5914 5915
  try {
    userIDM.delUser(token, {
5916
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
5917 5918 5919 5920 5921 5922 5923
        console.log('delUser result = ' + result);
        console.log('delUser extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('delUser exception = ' + JSON.stringify(e));
  }
5924 5925 5926 5927 5928 5929
  ```

### delCred<sup>8+</sup>

delCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void;

J
jidong 已提交
5930
删除用户凭据信息。
5931

J
jidong 已提交
5932
**系统接口:** 此接口为系统接口。
5933 5934 5935 5936 5937 5938 5939 5940

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

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

**参数:**

| 参数名           | 类型                                            | 必填 | 说明                      |
J
jidong 已提交
5941 5942 5943 5944
| --------------- | ----------------------------------- | --- | ---------------------------|
| credentialId    | Uint8Array                          | 是  | 凭证索引。                  |
| token           | Uint8Array                          | 是  | 身份验证令牌。               |
| callback        | [IIdmCallback](#iidmcallback8)      | 是  | 回调对象,返回删除凭据的结果。 |
5945

J
jidong 已提交
5946 5947 5948 5949 5950 5951 5952
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialId. |
| 12300101 | Token is invalid. |
5953
| 12300102 | Credential not enrolled. |
J
jidong 已提交
5954

5955
**示例:**
5956
  ```js
J
jidong 已提交
5957
  let userIDM = new account_osAccount.UserIdentityManager();
5958 5959
  let credentialId: Uint8Array = new Uint8Array([0]);
  let token: Uint8Array = new Uint8Array([0]);
5960 5961
  try {
    userIDM.delCred(credentialId, token, {
5962
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
5963 5964 5965 5966 5967 5968 5969
          console.log('delCred result = ' + result);
          console.log('delCred extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('delCred exception = ' + JSON.stringify(e));
  }
5970 5971 5972 5973
  ```

### getAuthInfo<sup>8+</sup>

5974
getAuthInfo(callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;
5975

J
jidong 已提交
5976
获取认证信息。使用callback异步回调。
5977

J
jidong 已提交
5978
**系统接口:** 此接口为系统接口。
5979 5980 5981

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

5982
**需要权限:** ohos.permission.USE_USER_IDM
5983 5984 5985

**参数:**

J
jidong 已提交
5986 5987
| 参数名    | 类型                                                                     | 必填 | 说明                                                 |
| -------- | ------------------------------------------------------------------------ | ---- | --------------------------------------------- |
J
jidong 已提交
5988
| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数。如果成功,err为null,data为当前用户的所有已注册凭据信息;否则为错误对象。|
5989

J
jidong 已提交
5990 5991 5992 5993 5994
**错误码:**

| 错误码ID | 错误信息               |
| -------- | --------------------- |
| 12300001 | System service exception. |
5995
| 12300102 | Credential not enrolled. |
5996

5997
**示例:**
5998
  ```js
5999
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6000
  let userIDM = new account_osAccount.UserIdentityManager();
6001
  try {
6002
    userIDM.getAuthInfo((err: BusinessError, result: account_osAccount.EnrolledCredInfo[]) => {
6003 6004 6005 6006 6007 6008
      console.log('getAuthInfo err = ' + JSON.stringify(err));
      console.log('getAuthInfo result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6009 6010 6011 6012 6013 6014
  ```

### getAuthInfo<sup>8+</sup>

getAuthInfo(authType: AuthType, callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;

J
jidong 已提交
6015
获取指定类型的认证信息。使用callback异步回调。
6016

J
jidong 已提交
6017
**系统接口:** 此接口为系统接口。
6018 6019 6020

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

6021
**需要权限:** ohos.permission.USE_USER_IDM
6022 6023 6024 6025 6026 6027

**参数:**

| 参数名    | 类型                                               | 必填 | 说明                                                |
| -------- | -------------------------------------------------- | ---- | -------------------------------------------------- |
| authType | [AuthType](#authtype8) | 是   | 认证类型。                                          |
J
jidong 已提交
6028 6029 6030 6031 6032
| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数,如果获取成功,err为null,data为当前用户指定类型的所有已注册凭据信息;否则为错误对象。 |

**错误码:**

| 错误码ID | 错误信息               |
J
jidong 已提交
6033 6034 6035
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType. |
6036
| 12300102 | Credential not enrolled. |
6037

6038
**示例:**
6039
  ```js
6040
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6041
  let userIDM = new account_osAccount.UserIdentityManager();
6042
  try {
6043 6044
    userIDM.getAuthInfo(account_osAccount.AuthType.PIN,
      (err: BusinessError, result: account_osAccount.EnrolledCredInfo[]) => {
6045 6046 6047 6048 6049 6050
      console.log('getAuthInfo err = ' + JSON.stringify(err));
      console.log('getAuthInfo result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6051 6052 6053 6054 6055 6056
  ```

### getAuthInfo<sup>8+</sup>

getAuthInfo(authType?: AuthType): Promise&lt;Array&lt;EnrolledCredInfo&gt;&gt;;

J
jidong 已提交
6057
获取认证信息。使用Promise异步回调。
6058

J
jidong 已提交
6059
**系统接口:** 此接口为系统接口。
6060 6061 6062

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

6063
**需要权限:** ohos.permission.USE_USER_IDM
6064 6065 6066 6067 6068

**参数:**

| 参数名    | 类型                                | 必填 | 说明      |
| -------- | ----------------------------------- | ---- | -------- |
6069
| authType | [AuthType](#authtype8)              | 否   | 认证类型,默认为空,表示查询所有认证类型的信息。|
6070 6071 6072

**返回值:**

J
jidong 已提交
6073
| 类型                                         | 说明                                                                     |
J
jidong 已提交
6074
| :------------------------------------------- | :----------------------------------------------------------------------- |
J
jidong 已提交
6075 6076 6077 6078 6079
| Promise&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | Promise对象,返回当前用户指定类型的所有已注册凭据信息。|

**错误码:**

| 错误码ID | 错误信息               |
J
jidong 已提交
6080 6081 6082
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType. |
6083
| 12300102 | Credential not enrolled. |
6084

6085
**示例:**
6086
  ```js
6087
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6088
  let userIDM = new account_osAccount.UserIdentityManager();
6089
  try {
6090
    userIDM.getAuthInfo(account_osAccount.AuthType.PIN).then((result: account_osAccount.EnrolledCredInfo[]) => {
6091
      console.log('getAuthInfo result = ' + JSON.stringify(result))
6092
    }).catch((err: BusinessError) => {
6093 6094 6095 6096 6097
      console.log('getAuthInfo error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6098 6099 6100 6101 6102 6103
  ```

## IInputData<sup>8+</sup>

密码数据回调。

J
jidong 已提交
6104
**系统接口:** 此接口为系统接口。
6105

6106 6107
### onSetData<sup>8+</sup>

W
wangyihui 已提交
6108
onSetData: (authSubType: AuthSubType, data: Uint8Array) => void;
6109

J
jidong 已提交
6110
**系统接口:** 此接口为系统接口。
6111

6112 6113 6114 6115 6116 6117 6118 6119
通知设置数据。

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

**参数:**

| 参数名      | 类型                                     | 必填 | 说明                                            |
| ---------- | ---------------------------------------- | ---- | ----------------------------------------------- |
W
wangyihui 已提交
6120
| authSubType | [AuthSubType](#authsubtype8)             | 是   | 用于认证的凭据子类型。                            |
6121 6122
| data       | Uint8Array                               | 是   | 要设置的数据是凭据,用来在认证、添加、修改凭据操作。 |

C
chennian 已提交
6123 6124 6125 6126 6127 6128
**错误码:**

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

6129
**示例:**
6130
  ```js
6131 6132
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]);
C
cclicn 已提交
6133
  let inputer: account_osAccount.IInputer = {
6134
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
6135 6136
        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
          callback.onSetData(authSubType, passwordNumber);
J
jidong 已提交
6137
        } else {
W
wangyihui 已提交
6138
          callback.onSetData(authSubType, password);
J
jidong 已提交
6139 6140 6141
        }
    }
  };
6142 6143 6144 6145
  ```

## IInputer<sup>8+</sup>

W
wangyihui 已提交
6146
凭据输入器回调。
6147

J
jidong 已提交
6148
**系统接口:** 此接口为系统接口。
6149

6150 6151
### onGetData<sup>8+</sup>

W
wangyihui 已提交
6152
onGetData: (authSubType: AuthSubType, callback: IInputData) => void;
6153 6154 6155

通知获取数据。

J
jidong 已提交
6156
**系统接口:** 此接口为系统接口。
6157

6158 6159 6160 6161 6162 6163
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
6164
| callback   | [IInputData](#iinputdata8)  | 是   | 指示密码数据回调。|
6165

6166
**示例:**
6167
  ```js
6168 6169
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]);
C
cclicn 已提交
6170
  let inputer: account_osAccount.IInputer = {
6171
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
6172 6173
        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
          callback.onSetData(authSubType, passwordNumber);
J
jidong 已提交
6174
        } else {
W
wangyihui 已提交
6175
          callback.onSetData(authSubType, password);
J
jidong 已提交
6176 6177 6178
        }
    }
  };
6179
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
6180
  let result = pinAuth.registerInputer(inputer);
F
fanchenxuan 已提交
6181
  console.log('registerInputer result: ' + result);
6182 6183 6184 6185
  ```

## IUserAuthCallback<sup>8+</sup>

J
jidong 已提交
6186
表示用户认证回调类。
6187

J
jidong 已提交
6188
**系统接口:** 此接口为系统接口。
6189

6190 6191 6192 6193
### onResult<sup>8+</sup>

onResult: (result: number, extraInfo: AuthResult) => void;

J
jidong 已提交
6194
身份认证结果回调函数,返回结果码和认证结果信息。
6195

J
jidong 已提交
6196
**系统接口:** 此接口为系统接口。
6197

6198 6199 6200 6201 6202 6203 6204
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名     | 类型                                    | 必填 | 说明                 |
| --------- | --------------------------------------- | ---- | ------------------- |
| result    | number                                   | 是   | 表示身份认证结果代码。|
6205
| extraInfo | [AuthResult](#authresult8)  | 是   | 表示不同情况下的具体信息,如果认证通过,则在extrainfo中返回认证令牌,如果身份验证失败,则在extrainfo中返回剩余的身份验证时间,如果身份验证执行器被锁定,冻结时间将在extrainfo中返回。|
6206

6207
**示例:**
6208
  ```js
C
cclicn 已提交
6209 6210
  let authCallback: account_osAccount.IUserAuthCallback = {
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
6211 6212
      console.log('auth result = ' + result);
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6213 6214
    }
  };
6215 6216 6217 6218 6219 6220
  ```

### onAcquireInfo?<sup>8+</sup>

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

J
jidong 已提交
6221
身份认证信息获取回调函数。
6222

J
jidong 已提交
6223
**系统接口:** 此接口为系统接口。
6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234

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

**参数:**

| 参数名    | 类型     | 必填 | 说明                           |
| --------- | ------- | ---- | ----------------------------- |
| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
| extraInfo | any     | 是   | 保留参数。                     |

6235
**示例:**
6236
  ```js
C
cclicn 已提交
6237 6238
  let authCallback: account_osAccount.IUserAuthCallback = {
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
6239 6240
      console.log('auth result = ' + result)
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6241
    },
6242
    onAcquireInfo: (module: number, acquire: number, extraInfo: account_osAccount.RequestResult) => {
F
fanchenxuan 已提交
6243 6244
      console.log('auth module = ' + module);
      console.log('auth acquire = ' + acquire);
J
jidong 已提交
6245 6246 6247
      console.info('auth extraInfo = ' + JSON.stringify(extraInfo));
    }
  };
6248 6249 6250 6251
  ```

## IIdmCallback<sup>8+</sup>

J
jidong 已提交
6252
表示身份管理回调类。
6253

J
jidong 已提交
6254
**系统接口:** 此接口为系统接口。
6255

6256 6257
### onResult<sup>8+</sup>

6258
onResult: (result: number, extraInfo: RequestResult) => void;
6259

J
jidong 已提交
6260
身份管理操作结果回调函数,返回结果码和请求结果信息。
6261

J
jidong 已提交
6262
**系统接口:** 此接口为系统接口。
6263 6264 6265 6266 6267 6268 6269 6270

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

**参数:**

| 参数名     | 类型                                    | 必填 | 说明                     |
| --------- | --------------------------------------- | ---- | ----------------------- |
| result    | number                                  | 是   | 表示身份认证结果代码。    |
6271
| extraInfo | [RequestResult](#requestresult8)  | 是   | 针对不同情况传递具体信息。|
6272

6273
**示例:**
6274
  ```js
C
cclicn 已提交
6275
  let idmCallback: account_osAccount.IIdmCallback = {
6276
    onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
F
fanchenxuan 已提交
6277
      console.log('callback result = ' + result)
J
jidong 已提交
6278 6279 6280
      console.info('callback extraInfo = ' + JSON.stringify(extraInfo));
    }
  };
6281 6282 6283 6284 6285 6286
  ```

### onAcquireInfo?<sup>8+</sup>

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

J
jidong 已提交
6287
身份管理信息获取回调函数。
6288

J
jidong 已提交
6289
**系统接口:** 此接口为系统接口。
6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300

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

**参数:**

| 参数名    | 类型     | 必填 | 说明                           |
| --------- | ------- | ---- | ----------------------------- |
| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
| extraInfo | any     | 是   | 保留参数。                     |

6301
**示例:**
6302
  ```js
C
cclicn 已提交
6303
  let idmCallback: account_osAccount.IIdmCallback = {
6304
    onResult: (result: number, extraInfo: Object) => {
F
fanchenxuan 已提交
6305 6306
      console.log('callback result = ' + result)
      console.log('callback onResult = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6307
    },
6308
    onAcquireInfo: (module: number, acquire: number, extraInfo: Object) => {
F
fanchenxuan 已提交
6309 6310
      console.log('callback module = ' + module);
      console.log('callback acquire = ' + acquire);
J
jidong 已提交
6311 6312 6313
      console.log('callback onacquireinfo = ' + JSON.stringify(extraInfo));
    }
  };
6314 6315 6316 6317 6318 6319
  ```

## GetPropertyRequest<sup>8+</sup>

提供获取属性请求的信息。

J
jidong 已提交
6320
**系统接口:** 此接口为系统接口。
6321

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

6324
| 名称    | 类型                                                          | 必填   | 说明                   |
6325
| -------- | ------------------------------------------------------------- | ----- | ----------------------- |
6326 6327
| authType | [AuthType](#authtype8)                            | 是    | 身份验证凭据类型。        |
| keys     | Array&lt;[GetPropertyType](#getpropertytype8)&gt; | 是    | 指示要获取的属性类型数组。 |
6328 6329 6330 6331 6332

## SetPropertyRequest<sup>8+</sup>

提供设置属性请求的信息。

J
jidong 已提交
6333
**系统接口:** 此接口为系统接口。
6334

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

6337
| 名称    | 类型                                             | 必填   | 说明                 |
6338
| -------- | ------------------------------------------------ | ----- | -------------------- |
6339 6340
| authType | [AuthType](#authtype8)               | 是    | 身份验证凭据类型。     |
| key     | [SetPropertyType](#setpropertytype8) | 是    | 指示要设置的属性类型。 |
6341 6342 6343 6344 6345 6346
| setInfo  | Uint8Array                                       | 是    | 指示要设置的信息。     |

## ExecutorProperty<sup>8+</sup>

提供执行器的属性。

J
jidong 已提交
6347
**系统接口:** 此接口为系统接口。
6348

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

6351 6352 6353 6354 6355 6356 6357 6358
| 名称         | 类型                         |  可读 | 可写 | 说明              |
| ------------ | ---------------------------- | ----- | -----|----------------- |
| result       | number                       | 是    | 是   | 指示结果。         |
| authSubType  | [AuthSubType](#authsubtype8) | 是    | 是   | 指示认证凭据子类型。|
| remainTimes  | number                       | 是    | 是   | 指示剩余次数。     |
| freezingTime | number                       | 是    | 是   | 指示冻结时间。     |
| enrollmentProgress<sup>10+</sup> | string   | 是    | 是   | 指示录入进度,默认为空。 |
| sensorInfo<sup>10+</sup> | string           | 是    | 是   | 指示传感器信息,默认为空。 |
6359 6360 6361

## AuthResult<sup>8+</sup>

J
jidong 已提交
6362
表示认证结果的信息。
6363

J
jidong 已提交
6364
**系统接口:** 此接口为系统接口。
6365

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

6368
| 名称        | 类型        | 必填   | 说明              |
6369
| ------------ | ----------- | ----- | ----------------- |
6370 6371 6372
| token        | Uint8Array  | 否    | 指示认证令牌,默认为空。      |
| remainTimes  | number      | 否    | 指示剩余次数,默认为空。      |
| freezingTime | number      | 否    | 指示冻结时间,默认为空。      |
6373 6374 6375

## CredentialInfo<sup>8+</sup>

J
jidong 已提交
6376
表示凭证信息。
6377

J
jidong 已提交
6378
**系统接口:** 此接口为系统接口。
6379

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

6382
| 名称        | 类型                                     | 必填   | 说明              |
6383
| ------------ | ---------------------------------------- | ----- | ----------------- |
6384 6385
| credType     | [AuthType](#authtype8)       | 是    | 指示凭据类型。     |
| credSubType  | [AuthSubType](#authsubtype8) | 是    | 指示凭据子类型。   |
J
jidong 已提交
6386
| token        | Uint8Array                           | 是    | 指示认证令牌。     |
6387 6388 6389

## RequestResult<sup>8+</sup>

J
jidong 已提交
6390
表示请求结果的信息。
6391

J
jidong 已提交
6392
**系统接口:** 此接口为系统接口。
6393

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

6396
| 名称        | 类型        | 必填   | 说明              |
6397
| ------------ | ----------- | ----- | ----------------- |
6398
| credentialId | Uint8Array  | 否    | 指示凭据索引,默认为空。      |
6399 6400 6401

## EnrolledCredInfo<sup>8+</sup>

J
jidong 已提交
6402
表示已注册凭据的信息。
6403

J
jidong 已提交
6404
**系统接口:** 此接口为系统接口。
6405

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

6408
| 名称        | 类型                                     | 必填   | 说明              |
6409 6410
| ------------ | ---------------------------------------- | ----- | ------------------- |
| credentialId | Uint8Array                               | 是    | 指示凭据索引。       |
6411 6412
| authType     | [AuthType](#authtype8)       | 是    | 指示认证凭据类型。   |
| authSubType  | [AuthSubType](#authsubtype8) | 是    | 指示认证凭据子类型。 |
6413 6414 6415 6416
| templateId   | Uint8Array                               | 是    | 指示凭据模板ID。     |

## GetPropertyType<sup>8+</sup>

J
jidong 已提交
6417
表示要获取的属性类型的枚举。
6418

J
jidong 已提交
6419
**系统接口:** 此接口为系统接口。
6420

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

6423
| 名称           | 值 | 说明      |
6424 6425 6426 6427
| ------------- | ------ | --------- |
| AUTH_SUB_TYPE | 1      | 认证子类型。 |
| REMAIN_TIMES  | 2      | 剩余时间。   |
| FREEZING_TIME | 3      | 冻结时间。   |
6428 6429
| ENROLLMENT_PROGRESS<sup>10+</sup> | 4      | 录入进度。   |
| SENSOR_INFO<sup>10+</sup> | 5      | 传感器信息。   |
6430 6431 6432

## SetPropertyType<sup>8+</sup>

J
jidong 已提交
6433
表示要设置的属性类型的枚举。
6434

J
jidong 已提交
6435
**系统接口:** 此接口为系统接口。
6436

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

6439
| 名称           | 值 | 说明        |
6440 6441 6442 6443 6444
| -------------- | ----- | ----------- |
| INIT_ALGORITHM | 1     | 初始化算法。 |

## AuthType<sup>8+</sup>

J
jidong 已提交
6445
表示身份验证的凭据类型的枚举。
6446

J
jidong 已提交
6447
**系统接口:** 此接口为系统接口。
6448

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

6451
| 名称  | 值 | 说明             |
6452
| ----- | ----- | ---------------- |
W
wangyihui 已提交
6453 6454 6455
| PIN   | 1     | 表示PIN认证类型。 |
| FACE  | 2     | 表示脸部认证类型。|
| FINGERPRINT<sup>10+</sup>   | 4     | 表示指纹认证类型。 |
Z
zhouyan 已提交
6456
| DOMAIN<sup>9+</sup>  | 1024     | 表示域认证类型。|
6457 6458 6459

## AuthSubType<sup>8+</sup>

J
jidong 已提交
6460
表示用于认证的凭据子类型的枚举。
6461

J
jidong 已提交
6462
**系统接口:** 此接口为系统接口。
6463

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

6466
| 名称       | 值 | 说明               |
6467 6468 6469 6470
| ---------- | ----- | ------------------ |
| PIN_SIX    | 10000 | 表示6位凭证。       |
| PIN_NUMBER | 10001 | 表示自定义数字凭证。 |
| PIN_MIXED  | 10002 | 表示自定义混合凭据。 |
W
wangyihui 已提交
6471 6472
| FACE_2D    | 20000 | 表示2D 人脸凭证。   |
| FACE_3D    | 20001 | 表示3D 人脸凭证。   |
6473 6474 6475
| FINGERPRINT_CAPACITIVE<sup>10+</sup>    | 30000 | 表示电容式指纹。   |
| FINGERPRINT_OPTICAL<sup>10+</sup>    | 30001 | 表示光学指纹。   |
| FINGERPRINT_ULTRASONIC<sup>10+</sup>    | 30002 | 表示超声波指纹。   |
Z
zhouyan 已提交
6476
| DOMAIN_MIXED<sup>9+</sup>    | 10240001 | 表示域认证混合凭证。   |
6477 6478 6479

## AuthTrustLevel<sup>8+</sup>

J
jidong 已提交
6480
表示认证结果的受信任级别的枚举。
6481

J
jidong 已提交
6482
**系统接口:** 此接口为系统接口。
6483

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

6486
| 名称  | 值 | 说明        |
6487 6488 6489 6490 6491 6492 6493 6494
| ---- | ------ | ----------- |
| ATL1 | 10000  | 信任级别 1。 |
| ATL2 | 20000  | 信任级别 2。 |
| ATL3 | 30000  | 信任级别 3。 |
| ATL4 | 40000  | 信任级别 4。 |

## Module<sup>8+</sup>

J
jidong 已提交
6495
表示获取信息的模块的枚举。
6496

J
jidong 已提交
6497
**系统接口:** 此接口为系统接口。
6498

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

6501
| 名称       | 值 | 说明                     |
6502 6503 6504 6505 6506
| --------- | ------ | ------------------------ |
| FACE_AUTH | 1      | 表示从人脸认证获取的信息。 |

## ResultCode<sup>8+</sup>

J
jidong 已提交
6507
表示身份验证结果码。
6508

J
jidong 已提交
6509
**系统接口:** 此接口为系统接口。
6510

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

6513
| 名称                    | 值 | 说明                                     |
6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528
| ----------------------- | ----- | ---------------------------------------- |
| 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 已提交
6529
表示人脸验证过程中提示的枚举。
6530

J
jidong 已提交
6531
**系统接口:** 此接口为系统接口。
6532

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

6535
| 名称                          | 值 | 说明                                     |
6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548
| ----------------------------- | ----- | ---------------------------------------- |
| 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 已提交
6549
## FingerprintTips<sup>8+</sup>
6550

J
jidong 已提交
6551
表示指纹身份验证过程中提示的枚举。
6552

J
jidong 已提交
6553
**系统接口:** 此接口为系统接口。
6554

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

6557
| 名称                          | 值 | 说明                                            |
6558
| ----------------------------- | ----- | ----------------------------------------------- |
6559
| FINGERPRINT_TIP_GOOD          | 0     | 表示采集的图像良好。                              |
6560 6561
| FINGERPRINT_TIP_IMAGER_DIRTY  | 1     | 表示由于传感器上可疑或检测到污垢,指纹图像噪声过大。 |
| FINGERPRINT_TIP_INSUFFICIENT  | 2     | 表示由于检测到的情况,指纹图像噪声太大,无法处理。   |
6562
| FINGERPRINT_TIP_PARTIAL       | 3     | 表示仅检测到部分指纹图像。                         |
6563 6564
| FINGERPRINT_TIP_TOO_FAST      | 4     | 表示指纹图像由于快速运动而不完整。                  |
| FINGERPRINT_TIP_TOO_SLOW      | 5     | 表示由于缺少运动,指纹图像无法读取。                |
C
cclicn 已提交
6565 6566
| FINGERPRINT_TIP_FINGER_DOWN<sup>10+</sup>   | 6     | 表示手指落下。                  |
| FINGERPRINT_TIP_FINGER_UP<sup>10+</sup>     | 7     | 表示手指抬起。                |
6567

Z
zhangalong 已提交
6568
## OsAccountInfo
Z
zengyawen 已提交
6569

J
jidong 已提交
6570
表示系统帐号信息。
Z
zengyawen 已提交
6571 6572 6573

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

6574
| 名称                         | 类型                                                         | 必填 | 说明                              |
Z
zengyawen 已提交
6575 6576 6577
| ------------------------------ | ------------------------------------------------------------ | ---- | --------------------------------- |
| localId                        | number                                                       | 是   | 系统帐号ID。                      |
| localName                      | string                                                       | 是   | 系统帐号名称。                    |
6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588
| 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 已提交
6589 6590

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

J
jidong 已提交
6592
表示域帐号信息。
Z
zengyawen 已提交
6593 6594 6595

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

6596
| 名称      | 类型   | 必填 | 说明       |
Z
zengyawen 已提交
6597 6598 6599
| ----------- | ------ | ---- | ---------- |
| domain      | string | 是   | 域名。     |
| accountName | string | 是   | 域帐号名。 |
6600
| accountId<sup>10+</sup> | string | 否   | 域帐号标识。<br>**系统接口:** 此接口为系统接口,默认为空。 |
Z
zhangalong 已提交
6601 6602 6603

## 系统帐号约束列表

Z
zengyawen 已提交
6604 6605
| 约束                                  | 说明                           |
| ------------------------------------- | ------------------------------ |
Z
zengyawen 已提交
6606 6607
| constraint.wifi                       | 禁止使用Wi-Fi                  |
| constraint.wifi.set                   | 禁止配置Wi-Fi                  |
Z
zengyawen 已提交
6608 6609 6610 6611 6612 6613
| constraint.locale.set                 | 禁止配置设备语言               |
| constraint.app.accounts               | 禁止添加和删除应用帐号         |
| constraint.apps.install               | 禁止安装应用                   |
| constraint.apps.uninstall             | 禁止卸载应用                   |
| constraint.location.shared            | 禁止打开位置共享               |
| constraint.unknown.sources.install    | 禁止安装未知来源的应用         |
Z
zhangalong 已提交
6614
| constraint.global.unknown.app.install | 禁止所有用户安装未知来源的应用 |
Z
zengyawen 已提交
6615 6616
| constraint.bluetooth.set              | 禁止配置蓝牙                   |
| constraint.bluetooth | 禁止使用蓝牙 |
Z
zhangalong 已提交
6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635
| 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 已提交
6636 6637
| constraint.microphone.unmute | 禁止取消麦克风静音 |
| constraint.volume.adjust | 禁止调整音量 |
Z
zhangalong 已提交
6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654
| 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 已提交
6655
| constraint.device.unmute | 禁止取消设备静音 |
Z
zhangalong 已提交
6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667
| 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 | 禁止打印 |
6668 6669 6670 6671
| constraint.private.dns.set | 禁止配置专用DNS |

## ConstraintSourceTypeInfo<sup>9+</sup>

J
jidong 已提交
6672
表示约束来源类型信息。
6673

J
jidong 已提交
6674
**系统接口:** 此接口为系统接口。
J
jidong 已提交
6675

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

6678
| 名称      | 类型   | 必填 | 说明       |
6679 6680 6681 6682 6683 6684
| ----------- | ------ | ---- | ---------- |
| localId      | number | 是   | 系统帐号ID     |
| type | [ConstraintSourceType](#constraintsourcetype) | 是   | 约束来源类型 |

## ConstraintSourceType<sup>9+</sup>

J
jidong 已提交
6685
表示约束来源类型的枚举。
6686

J
jidong 已提交
6687
**系统接口:** 此接口为系统接口。
J
jidong 已提交
6688

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

6691
| 名称   | 值 | 说明         |
6692 6693 6694 6695
| ------ | ------ | ------------ |
| CONSTRAINT_NOT_EXIST  | 0      | 约束不存在 |
| CONSTRAINT_TYPE_BASE | 1      | 约束源自系统设置   |
| CONSTRAINT_TYPE_DEVICE_OWNER  | 2   | 约束源自设备所有者设置   |
J
jidong 已提交
6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709
| CONSTRAINT_TYPE_PROFILE_OWNER  | 3  | 约束源自资料所有者设置   |

## AuthStatusInfo<sup>10+</sup>

表示认证状态信息。

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| remainTimes  | number | 是   | 剩余次数   |
| freezingTime | number | 是   | 冻结时间 |
J
jidong 已提交
6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724

## GetDomainAccessTokenOptions<sup>10+</sup>

表示获取域访问令牌的选项。

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| domainAccountInfo  | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号的信息   |
| domainAccountToken | Uint8Array | 是   | 域帐号的令牌 |
| businessParams | { [key: string]: object } | 是   | 业务参数,由业务方根据请求协议自定义 |
| callerUid | number | 是   | 调用方唯一标识符 |
6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749

## GetDomainAccountInfoOptions<sup>10+</sup>

表示查询域帐号信息的选项。

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| accountName | string | 是   | 域帐号名。 |
| domain      | string | 否   | 域名。     |

## GetDomainAccountInfoPluginOptions<sup>10+</sup>

表示插件查询域帐号信息的选项。GetDomainAccountInfoPluginOptions类继承[GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| callerUid | number | 是   | 调用方唯一标识符 |