js-apis-osAccount.md 257.4 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
  ```

1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262
### getOsAccountLocalIdForUidSync<sup>10+</sup>

getOsAccountLocalIdForUidSync(uid: number): number

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

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

**参数:**

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

**返回值:**

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

**错误码:**

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

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

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

C
cclicn 已提交
1263
### getOsAccountLocalIdForDomain<sup>9+</sup>
Z
zhangalong 已提交
1264

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

J
jidong 已提交
1267
根据域帐号信息,获取与其关联的系统帐号ID。使用callback异步回调。
Z
zengyawen 已提交
1268 1269 1270 1271 1272 1273

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

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

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

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

J
jidong 已提交
1280 1281 1282 1283
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1284 1285
| 12300001 | System service exception. |
| 12300002 | Invalid domainInfo. |
J
jidong 已提交
1286

1287
**示例:**
Z
zhangalong 已提交
1288

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

C
cclicn 已提交
1306
### getOsAccountLocalIdForDomain<sup>9+</sup>
Z
zhangalong 已提交
1307

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

J
jidong 已提交
1310
根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用Promise异步回调。
Z
zengyawen 已提交
1311 1312 1313 1314 1315 1316

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

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

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

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

Z
zengyawen 已提交
1322
**返回值:**
Z
zhangalong 已提交
1323

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

J
jidong 已提交
1328 1329 1330 1331
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
1332 1333
| 12300001 | System service exception. |
| 12300002 | Invalid domainInfo. |
J
jidong 已提交
1334

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

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

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

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

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

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

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

**参数:**

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

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

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

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

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

J
jidong 已提交
1392
### queryMaxOsAccountNumber
Z
zhangalong 已提交
1393

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

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

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

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

Z
zengyawen 已提交
1402 1403
**返回值:**

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

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

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

J
jidong 已提交
1414
**示例:**
Z
zhangalong 已提交
1415

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

J
jidong 已提交
1430
### getOsAccountConstraints<sup>9+</sup>
Z
zhangalong 已提交
1431

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

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

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

Z
zengyawen 已提交
1438 1439 1440
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
1447 1448 1449 1450
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1451
| 12300001 | System service exception. |
J
jidong 已提交
1452
| 12300002 | Invalid localId.    |
J
jidong 已提交
1453
| 12300003 | Account not found. |
J
jidong 已提交
1454 1455

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

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

J
jidong 已提交
1474
### getOsAccountConstraints<sup>9+</sup>
Z
zhangalong 已提交
1475

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

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

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

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

Z
zengyawen 已提交
1484
**参数:**
Z
zhangalong 已提交
1485

J
jidong 已提交
1486 1487 1488
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
1489

Z
zengyawen 已提交
1490 1491
**返回值:**

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

J
jidong 已提交
1496 1497 1498 1499
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1500
| 12300001 | System service exception. |
J
jidong 已提交
1501
| 12300002 | Invalid localId.    |
J
jidong 已提交
1502
| 12300003 | Account not found. |
J
jidong 已提交
1503 1504

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

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

J
jidong 已提交
1521
### queryAllCreatedOsAccounts
1522

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

J
jidong 已提交
1525
查询已创建的所有系统帐号的信息列表。使用callback异步回调。
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
| 参数名   | 类型                                                         | 必填 | 说明                                               |
| -------- | ------------------------------------------------------------ | ---- | -------------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为已创建的所有系统帐号的信息列表;否则为错误对象。 |
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((err: BusinessError, accountArr: account_osAccount.OsAccountInfo[])=>{
J
jidong 已提交
1552 1553
      console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err));
      console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr));
1554 1555
    });
  } catch (e) {
C
chennian 已提交
1556
    console.log('queryAllCreatedOsAccounts exception: ' + JSON.stringify(e));
1557 1558 1559
  }
  ```

J
jidong 已提交
1560
### queryAllCreatedOsAccounts
1561

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

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

J
jidong 已提交
1566
**系统接口:** 此接口为系统接口。
1567 1568 1569

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

J
jidong 已提交
1570 1571
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS

1572 1573
**返回值:**

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

J
jidong 已提交
1578 1579 1580 1581 1582 1583
**错误码:**

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

1584 1585 1586
**示例:**

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

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

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

J
jidong 已提交
1604
查询当前处于激活状态的系统帐号的ID列表。使用callback异步回调。
Z
zengyawen 已提交
1605 1606 1607 1608

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

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

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

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

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

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

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

C
cclicn 已提交
1638
### getActivatedOsAccountLocalIds<sup>9+</sup>
Z
zhangalong 已提交
1639

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

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

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

Z
zengyawen 已提交
1646 1647
**返回值:**

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

J
jidong 已提交
1652 1653 1654 1655
**错误码:**

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

1658
**示例:**
Z
zhangalong 已提交
1659

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

J
jidong 已提交
1674
### createOsAccount
1675

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

J
jidong 已提交
1678 1679 1680 1681 1682
创建一个系统帐号。使用callback异步回调。

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

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1683 1684 1685 1686 1687

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

**参数:**

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

**错误码:**
J
jidong 已提交
1695 1696 1697 1698

| 错误码ID  | 错误信息                   |
| -------- | ------------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1699
| 12300002 | Invalid localName or type. |
J
jidong 已提交
1700 1701
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1702
| 12300007 | The number of accounts reaches the upper limit. |
1703 1704 1705 1706

**示例:**

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

J
jidong 已提交
1720
### createOsAccount
1721

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

J
jidong 已提交
1724 1725 1726 1727 1728
创建一个系统帐号。使用Promise异步回调。 

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

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1729 1730 1731

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

J
jidong 已提交
1732 1733 1734 1735 1736 1737 1738
**参数:**

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

1739 1740
**返回值:**

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

**错误码:**
J
jidong 已提交
1746 1747 1748 1749

| 错误码ID  | 错误信息                   |
| -------- | ------------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1750
| 12300002 | Invalid localName or type. |
J
jidong 已提交
1751 1752
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1753
| 12300007 | The number of accounts reaches the upper limit. |
1754 1755 1756 1757

**示例:**

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

J
jidong 已提交
1772
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1773

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

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

J
jidong 已提交
1778 1779 1780
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
1782 1783 1784
**系统能力:** SystemCapability.Account.OsAccount

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

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

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

J
jidong 已提交
1794
| 错误码ID | 错误信息                     |
J
jidong 已提交
1795 1796
| -------- | ------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1797
| 12300002 | Invalid type or domainInfo. |
J
jidong 已提交
1798 1799
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1800
| 12300007 | The number of accounts reaches the upper limit. |
Z
zhangalong 已提交
1801

1802
**示例:**
Z
zhangalong 已提交
1803

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

J
jidong 已提交
1820
### createOsAccountForDomain<sup>8+</sup>
Z
zhangalong 已提交
1821

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

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

J
jidong 已提交
1826 1827 1828
**系统接口:** 此接口为系统接口。

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

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

J
jidong 已提交
1832 1833 1834 1835 1836 1837 1838
**参数:**

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

Z
zengyawen 已提交
1839
**返回值:**
Z
zhangalong 已提交
1840

J
jidong 已提交
1841 1842 1843 1844 1845
| 类型                                           | 说明                                    |
| ---------------------------------------------- | -------------------------------------- |
| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回新创建的系统帐号的信息。 |

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

J
jidong 已提交
1847
| 错误码ID | 错误信息                     |
J
jidong 已提交
1848 1849
| -------- | ------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
1850
| 12300002 | Invalid type or domainInfo. |
J
jidong 已提交
1851 1852
| 12300005 | Multi-user not supported. |
| 12300006 | Unsupported account type. |
1853
| 12300007 | The number of accounts reaches the upper limit. |
Z
zengyawen 已提交
1854

1855
**示例:**
Z
zhangalong 已提交
1856

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

J
jidong 已提交
1874
### getCurrentOsAccount<sup>9+</sup>
1875

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

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

1880
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.GET_LOCAL_ACCOUNTS<sup>10+</sup>
1881 1882 1883 1884 1885

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

**参数:**

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

J
jidong 已提交
1890 1891 1892 1893 1894 1895
**错误码:**

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

J
jidong 已提交
1896
**示例:**
1897 1898

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

J
jidong 已提交
1911
### getCurrentOsAccount<sup>9+</sup>
1912

J
jidong 已提交
1913
getCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
1914

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

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

J
jidong 已提交
1919
**系统能力:** SystemCapability.Account.OsAccount
1920 1921 1922

**返回值:**

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

J
jidong 已提交
1927 1928 1929 1930 1931 1932
**错误码:**

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

J
jidong 已提交
1933
**示例:**
1934 1935

  ```js
1936
  import { BusinessError } from '@ohos.base';
1937 1938
  let accountManager = account_osAccount.getAccountManager();
  try {
1939
    accountManager.getCurrentOsAccount().then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
1940
      console.log('getCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1941
    }).catch((err: BusinessError) => {
C
chennian 已提交
1942
      console.log('getCurrentOsAccount err: ' + JSON.stringify(err));
1943 1944
    });
  } catch (e) {
C
chennian 已提交
1945
    console.log('getCurrentOsAccount exception: ' + JSON.stringify(e));
1946 1947 1948
  }
  ```

J
jidong 已提交
1949
### queryOsAccountById
Z
zhangalong 已提交
1950

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

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

J
jidong 已提交
1955 1956 1957
**系统接口:** 此接口为系统接口。

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

Z
zengyawen 已提交
1959 1960 1961
**系统能力:** SystemCapability.Account.OsAccount

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

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

J
jidong 已提交
1968
**错误码:**
J
jidong 已提交
1969

J
jidong 已提交
1970 1971
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
1972
| 12300001 | System service exception. |
J
jidong 已提交
1973
| 12300002 | Invalid localId.    |
J
jidong 已提交
1974
| 12300003 | Account not found. |
J
jidong 已提交
1975 1976

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

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

J
jidong 已提交
1992
### queryOsAccountById
Z
zhangalong 已提交
1993

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

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

J
jidong 已提交
1998 1999 2000
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
2004
**参数:**
Z
zhangalong 已提交
2005

J
jidong 已提交
2006 2007 2008
| 参数名  | 类型   | 必填 | 说明                 |
| ------- | ------ | ---- | -------------------- |
| localId | number | 是   | 要查询的系统帐号的ID |
Z
zhangalong 已提交
2009

Z
zengyawen 已提交
2010
**返回值:**
Z
zhangalong 已提交
2011

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

J
jidong 已提交
2016
**错误码:**
J
jidong 已提交
2017

J
jidong 已提交
2018 2019
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2020
| 12300001 | System service exception. |
C
chennian 已提交
2021
| 12300002 | Invalid localId. |
J
jidong 已提交
2022
| 12300003 | Account not found. |
J
jidong 已提交
2023 2024

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

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

J
jidong 已提交
2041
### getOsAccountType<sup>9+</sup>
2042

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

J
jidong 已提交
2045
查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
2046 2047 2048 2049 2050

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

**参数:**

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

J
jidong 已提交
2055 2056 2057 2058 2059 2060
**错误码:**

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

2061 2062 2063
**示例:**

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

J
jidong 已提交
2076
### getOsAccountType<sup>9+</sup>
2077

J
jidong 已提交
2078
getOsAccountType(): Promise&lt;OsAccountType&gt;
2079

J
jidong 已提交
2080
查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
2081 2082 2083 2084 2085

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

**返回值:**

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

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

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

2096 2097 2098
**示例:**

  ```js
2099
  import { BusinessError } from '@ohos.base';
2100 2101
  let accountManager = account_osAccount.getAccountManager();
  try {
2102
    accountManager.getOsAccountType().then((accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
2103
      console.log('getOsAccountType, accountType: ' + accountType);
2104
    }).catch((err: BusinessError) => {
C
chennian 已提交
2105
      console.log('getOsAccountType err: ' + JSON.stringify(err));
2106 2107
    });
  } catch (e) {
J
jidong 已提交
2108
    console.log('getOsAccountType exception: ' + JSON.stringify(e));
2109 2110 2111
  }
  ```

J
jidong 已提交
2112
### queryDistributedVirtualDeviceId<sup>9+</sup>
Z
zhangalong 已提交
2113

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

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

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

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

Z
zengyawen 已提交
2122
**参数:**
Z
zhangalong 已提交
2123

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

J
jidong 已提交
2128 2129 2130 2131 2132 2133
**错误码:**

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

2134
**示例:**
Z
zhangalong 已提交
2135

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

J
jidong 已提交
2149
### queryDistributedVirtualDeviceId<sup>9+</sup>
Z
zhangalong 已提交
2150

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

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

J
jidong 已提交
2155
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2156 2157 2158 2159

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

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

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

J
jidong 已提交
2165 2166 2167 2168 2169 2170
**错误码:**

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

2171
**示例:**
Z
zhangalong 已提交
2172

Z
zhangalong 已提交
2173
  ```js
2174
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2175
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2176
  try {
2177
    accountManager.queryDistributedVirtualDeviceId().then((virtualID: string) => {
J
jidong 已提交
2178
      console.log('queryDistributedVirtualDeviceId, virtualID: ' + virtualID);
2179
    }).catch((err: BusinessError) => {
C
chennian 已提交
2180
      console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
J
jidong 已提交
2181 2182 2183 2184
    });
  } catch (e) {
    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
  }
Z
zhangalong 已提交
2185 2186
  ```

J
jidong 已提交
2187
### getOsAccountProfilePhoto
Z
zhangalong 已提交
2188

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

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

J
jidong 已提交
2193 2194 2195
**系统接口:** 此接口为系统接口。

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

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

Z
zengyawen 已提交
2199 2200
**参数:**

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

J
jidong 已提交
2206
**错误码:**
J
jidong 已提交
2207

J
jidong 已提交
2208 2209
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2210
| 12300001 | System service exception. |
J
jidong 已提交
2211
| 12300002 | Invalid localId.    |
J
jidong 已提交
2212
| 12300003 | Account not found. |
J
jidong 已提交
2213 2214

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

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

J
jidong 已提交
2230
### getOsAccountProfilePhoto
Z
zhangalong 已提交
2231

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

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

J
jidong 已提交
2236 2237 2238
**系统接口:** 此接口为系统接口。

**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
2239 2240 2241

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

J
jidong 已提交
2242 2243 2244 2245 2246 2247
**参数:**

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

Z
zengyawen 已提交
2248
**返回值:**
Z
zhangalong 已提交
2249

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

J
jidong 已提交
2254
**错误码:**
J
jidong 已提交
2255

J
jidong 已提交
2256 2257
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2258
| 12300001 | System service exception. |
J
jidong 已提交
2259
| 12300002 | Invalid localId.    |
J
jidong 已提交
2260
| 12300003 | Account not found. |
J
jidong 已提交
2261 2262

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

Z
zhangalong 已提交
2264
  ```js
2265
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2266
  let accountManager = account_osAccount.getAccountManager();
2267
  let localId: number = 100;
2268
  try {
2269
    accountManager.getOsAccountProfilePhoto(localId).then((photo: string) => {
J
jidong 已提交
2270
      console.log('getOsAccountProfilePhoto: ' + photo);
2271
    }).catch((err: BusinessError) => {
C
chennian 已提交
2272
      console.log('getOsAccountProfilePhoto err: ' + JSON.stringify(err));
2273 2274
    });
  } catch (e) {
C
chennian 已提交
2275
    console.log('getOsAccountProfilePhoto exception: ' + JSON.stringify(e));
2276 2277 2278
  }
  ```

J
jidong 已提交
2279
### setOsAccountProfilePhoto
2280

J
jidong 已提交
2281 2282 2283
setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback&lt;void&gt;): void

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

J
jidong 已提交
2285
**系统接口:** 此接口为系统接口。
2286

J
jidong 已提交
2287
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2288 2289 2290 2291 2292

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

**参数:**

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

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

J
jidong 已提交
2301 2302
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2303 2304 2305 2306
| 12300001 | System service exception. |
| 12300002 | Invalid localId or photo.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
2307

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

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

J
jidong 已提交
2327
### setOsAccountProfilePhoto
2328

J
jidong 已提交
2329 2330 2331
setOsAccountProfilePhoto(localId: number, photo: string): Promise&lt;void&gt;

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

J
jidong 已提交
2333
**系统接口:** 此接口为系统接口。
2334

J
jidong 已提交
2335
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2336 2337 2338 2339 2340 2341 2342 2343

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

**参数:**

| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
J
jidong 已提交
2344
| photo   | string | 是   | 头像信息。   |
2345 2346 2347

**返回值:**

J
jidong 已提交
2348
| 类型                | 说明                                 |
J
jidong 已提交
2349
| ------------------- | ------------------------------------ |
A
Annie_wang 已提交
2350
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
2351

J
jidong 已提交
2352
**错误码:**
J
jidong 已提交
2353

J
jidong 已提交
2354 2355
| 错误码ID | 错误信息             |
| -------- | ------------------- |
J
jidong 已提交
2356 2357 2358 2359
| 12300001 | System service exception. |
| 12300002 | Invalid localId or photo.    |
| 12300003 | Account not found. |
| 12300008 | Restricted Account. |
J
jidong 已提交
2360 2361

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

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

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

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

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

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

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

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

J
jidong 已提交
2397
**错误码:**
J
jidong 已提交
2398

J
jidong 已提交
2399
| 错误码ID | 错误信息               |
J
jidong 已提交
2400
| -------- | ------------------- |
C
chennian 已提交
2401 2402 2403
| 12300001 | System service exception. |
| 12300002 | Invalid serialNumber. |
| 12300003 | The account indicated by serialNumber dose not exist. |
J
jidong 已提交
2404 2405

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

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

C
cclicn 已提交
2421
### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
2422

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

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

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

Z
zengyawen 已提交
2429
**参数:**
Z
zhangalong 已提交
2430

J
jidong 已提交
2431 2432 2433
| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |
Z
zhangalong 已提交
2434

Z
zengyawen 已提交
2435
**返回值:**
Z
zhangalong 已提交
2436

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

J
jidong 已提交
2441
**错误码:**
J
jidong 已提交
2442

J
jidong 已提交
2443
| 错误码ID | 错误信息               |
J
jidong 已提交
2444
| -------- | ------------------- |
C
chennian 已提交
2445 2446 2447
| 12300001 | System service exception. |
| 12300002 | Invalid serialNumber. |
| 12300003 | The account indicated by serialNumber dose not exist. |
J
jidong 已提交
2448 2449

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

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

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

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

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

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

Z
zengyawen 已提交
2474
**参数:**
Z
zhangalong 已提交
2475

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

J
jidong 已提交
2481 2482 2483 2484
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
2485 2486 2487
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
2488 2489

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

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

C
cclicn 已提交
2505
### getSerialNumberForOsAccountLocalId<sup>9+</sup>
Z
zhangalong 已提交
2506

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

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

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

J
jidong 已提交
2513 2514 2515 2516 2517
**参数:**

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

Z
zengyawen 已提交
2519
**返回值:**
Z
zhangalong 已提交
2520

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

J
jidong 已提交
2525 2526 2527 2528
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
C
chennian 已提交
2529 2530 2531
| 12300001 | System service exception. |
| 12300002 | Invalid localId.    |
| 12300003 | Account not found. |
J
jidong 已提交
2532 2533

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

Z
zhangalong 已提交
2535
  ```js
2536
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2537
  let accountManager = account_osAccount.getAccountManager();
2538
  let localId: number = 100;
2539
  try {
2540
    accountManager.getSerialNumberForOsAccountLocalId(localId).then((serialNumber: number) => {
C
cclicn 已提交
2541
      console.log('getSerialNumberForOsAccountLocalId serialNumber: ' + serialNumber);
2542
    }).catch((err: BusinessError) => {
C
chennian 已提交
2543
      console.log('getSerialNumberForOsAccountLocalId err: ' + JSON.stringify(err));
2544 2545
    });
  } catch (e) {
C
chennian 已提交
2546
    console.log('getSerialNumberForOsAccountLocalId exception: ' + JSON.stringify(e));
2547 2548 2549
  }
  ```

J
jidong 已提交
2550
### on
2551

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

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

J
jidong 已提交
2556 2557 2558
**系统接口:** 此接口为系统接口。

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

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

**参数:**

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

J
jidong 已提交
2570 2571 2572 2573 2574 2575 2576
**错误码:**

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

2577 2578 2579 2580
**示例:**

  ```js
  let accountManager = account_osAccount.getAccountManager();
2581
  function onCallback(receiveLocalId: number){
J
jidong 已提交
2582 2583
    console.log('receive localId:' + receiveLocalId);
  }
2584
  try {
J
jidong 已提交
2585
    accountManager.on('activating', 'osAccountOnOffNameA', onCallback);
2586
  } catch (e) {
C
chennian 已提交
2587
    console.log('receive localId exception: ' + JSON.stringify(e));
2588 2589 2590
  }
  ```

J
jidong 已提交
2591
### off
2592

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

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

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

**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2600 2601 2602

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

J
jidong 已提交
2603
**参数:**
2604

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

J
jidong 已提交
2611 2612 2613 2614 2615 2616 2617
**错误码:**

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

2618 2619 2620 2621
**示例:**

  ```js
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
2622 2623 2624
  function offCallback(){
    console.log('off enter')
  }
2625
  try {
J
jidong 已提交
2626
    accountManager.off('activating', 'osAccountOnOffNameA', offCallback);
2627
  } catch (e) {
C
chennian 已提交
2628
    console.log('off exception: ' + JSON.stringify(e));
2629
  }
Z
zhangalong 已提交
2630 2631
  ```

C
cclicn 已提交
2632
### getBundleIdForUid<sup>9+</sup>
Z
zhangalong 已提交
2633

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

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

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

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

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

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

J
jidong 已提交
2649 2650 2651 2652
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2653 2654
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
2655

2656
**示例:**
Z
zhangalong 已提交
2657

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

C
cclicn 已提交
2672
### getBundleIdForUid<sup>9+</sup>
Z
zhangalong 已提交
2673

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

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

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

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

J
jidong 已提交
2682 2683 2684 2685 2686 2687
**参数:**

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

Z
zengyawen 已提交
2688
**返回值:**
Z
zhangalong 已提交
2689

J
jidong 已提交
2690 2691 2692
| 类型                  | 说明                                  |
| --------------------- | ------------------------------------ |
| Promise&lt;number&gt; | Promise对象,返回与uid对应的bundleId。 |
Z
zengyawen 已提交
2693

J
jidong 已提交
2694 2695 2696 2697
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2698 2699
| 12300001 | System service exception. |
| 12300002 | Invalid uid. |
J
jidong 已提交
2700

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

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

2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755
### getBundleIdForUidSync<sup>10+</sup>

getBundleIdForUidSync(uid: number): number

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

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

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

**参数:**

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

**返回值:**

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

**错误码:**

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

**示例:**

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

J
jidong 已提交
2759 2760 2761
### isMainOsAccount<sup>9+</sup>

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

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

J
jidong 已提交
2765
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2766 2767

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

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

Z
zengyawen 已提交
2771 2772
**参数:**

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

J
jidong 已提交
2777 2778 2779 2780 2781 2782
**错误码:**

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

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
    accountManager.isMainOsAccount((err: BusinessError,result: boolean)=>{
J
jidong 已提交
2790 2791
      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
      console.info('isMainOsAccount result:' + JSON.stringify(result));
2792 2793
    });
  } catch (e) {
C
chennian 已提交
2794
    console.info('isMainOsAccount exception: ' + JSON.stringify(e));
2795
  }
Z
zhangalong 已提交
2796
  ```
J
jidong 已提交
2797
### isMainOsAccount<sup>9+</sup>
Z
zhangalong 已提交
2798

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

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

J
jidong 已提交
2803
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2804 2805 2806 2807

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

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

Z
zengyawen 已提交
2809
**返回值:**
Z
zhangalong 已提交
2810

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

J
jidong 已提交
2815 2816 2817 2818 2819 2820
**错误码:**

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

2821
**示例:**
Z
zhangalong 已提交
2822

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

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

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

J
jidong 已提交
2842
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2843 2844 2845 2846

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

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

Z
zengyawen 已提交
2848
**参数:**
Z
zhangalong 已提交
2849

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

J
jidong 已提交
2856 2857 2858 2859
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2860 2861 2862
| 12300001 | System service exception. |
| 12300002 | Invalid name or constraint. |
| 12300003 | Account not found. |
J
jidong 已提交
2863

2864
**示例:**
Z
zhangalong 已提交
2865

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

C
cclicn 已提交
2880
### getOsAccountConstraintSourceTypes<sup>9+</sup>
Z
zhangalong 已提交
2881

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

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

J
jidong 已提交
2886
**系统接口:** 此接口为系统接口。
Z
zengyawen 已提交
2887 2888 2889 2890 2891 2892

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

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

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

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

Z
zengyawen 已提交
2899
**返回值:**
Z
zhangalong 已提交
2900

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

J
jidong 已提交
2905 2906 2907 2908
**错误码:**

| 错误码ID | 错误信息       |
| -------- | ------------- |
C
chennian 已提交
2909 2910 2911
| 12300001 | System service exception. |
| 12300002 | Invalid name or constraint. |
| 12300003 | Account not found. |
J
jidong 已提交
2912

2913
**示例:**
Z
zhangalong 已提交
2914

Z
zhangalong 已提交
2915
  ```js
2916
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
2917
  let accountManager = account_osAccount.getAccountManager();
2918
  try {
2919 2920
    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi').then(
      (result: account_osAccount.ConstraintSourceTypeInfo[]) => {
C
cclicn 已提交
2921
      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(result));
2922
    }).catch((err: BusinessError) => {
C
cclicn 已提交
2923
      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
2924 2925
    });
  } catch (e) {
C
chennian 已提交
2926
    console.info('getOsAccountConstraintSourceTypes exception: ' + JSON.stringify(e));
2927 2928 2929
  }
  ```

J
jidong 已提交
2930
### isMultiOsAccountEnable<sup>(deprecated)</sup>
2931

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

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

A
Annie_wang 已提交
2936
> **说明:** 
J
jidong 已提交
2937
>
A
Annie_wang 已提交
2938
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9)。
2939 2940 2941 2942 2943

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

**参数:**

J
jidong 已提交
2944 2945 2946
| 参数名   | 类型                         | 必填 | 说明                                                     |
| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示支持多系统帐号;返回false表示不支持。 |
2947 2948 2949 2950

**示例:**

  ```js
2951
  import { BusinessError } from '@ohos.base';
2952
  let accountManager = account_osAccount.getAccountManager();
2953
  accountManager.isMultiOsAccountEnable((err: BusinessError, isEnabled: boolean) => {
J
jidong 已提交
2954
    if (err) {
C
chennian 已提交
2955
      console.log('isMultiOsAccountEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
2956
    } else {
C
chennian 已提交
2957
    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
J
jidong 已提交
2958 2959
    }
  });
2960 2961
  ```

J
jidong 已提交
2962
### isMultiOsAccountEnable<sup>(deprecated)</sup>
2963

J
jidong 已提交
2964
isMultiOsAccountEnable(): Promise&lt;boolean&gt;
2965

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

A
Annie_wang 已提交
2968
> **说明:** 
J
jidong 已提交
2969
>
A
Annie_wang 已提交
2970
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9-1)。
2971 2972 2973 2974 2975

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

**返回值:**

J
jidong 已提交
2976 2977 2978
| 类型                   | 说明                                                       |
| :--------------------- | :--------------------------------------------------------- |
| Promise&lt;boolean&gt; | Promise对象。返回true表示支持多系统帐号;返回false表示不支持。 |
2979 2980 2981 2982

**示例:**

  ```js
2983
  import { BusinessError } from '@ohos.base';
2984
  let accountManager = account_osAccount.getAccountManager();
2985
  accountManager.isMultiOsAccountEnable().then((isEnabled: boolean) => {
J
jidong 已提交
2986
    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
2987
  }).catch((err: BusinessError) => {
C
chennian 已提交
2988
    console.log('isMultiOsAccountEnable failed, error: ' + JSON.stringify(err));
J
jidong 已提交
2989
  });
Z
zhangalong 已提交
2990 2991 2992
  ```


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

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

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

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

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

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

Z
zengyawen 已提交
3007 3008
**参数:**

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

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

Z
zhangalong 已提交
3016
  ```js
3017
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3018
  let accountManager = account_osAccount.getAccountManager();
3019 3020
  let localId: number = 100;
  accountManager.isOsAccountActived(localId, (err: BusinessError, isActived: boolean) => {
J
jidong 已提交
3021 3022 3023 3024 3025
    if (err) {
      console.log('isOsAccountActived failed, err:' + JSON.stringify(err));
    } else {
      console.log('isOsAccountActived successfully, isActived:' + isActived);
    }
Z
zhangalong 已提交
3026 3027 3028
  });
  ```

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

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

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

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

J
jidong 已提交
3039
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3040 3041 3042

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

J
jidong 已提交
3043 3044 3045 3046 3047 3048
**参数:**

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

Z
zengyawen 已提交
3049
**返回值:**
Z
zhangalong 已提交
3050

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

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

Z
zhangalong 已提交
3057
  ```js
3058
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3059
  let accountManager = account_osAccount.getAccountManager();
3060 3061
  let localId: number = 100;
  accountManager.isOsAccountActived(localId).then((isActived: boolean) => {
J
jidong 已提交
3062
    console.log('isOsAccountActived successfully, isActived: ' + isActived);
3063
  }).catch((err: BusinessError) => {
C
chennian 已提交
3064
    console.log('isOsAccountActived failed, error: ' + JSON.stringify(err));
Z
zhangalong 已提交
3065 3066 3067
  });
  ```

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

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

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

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

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

Z
zengyawen 已提交
3080 3081 3082 3083
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

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

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

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

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

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

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

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

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

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

Z
zengyawen 已提交
3120
**参数:**
Z
zhangalong 已提交
3121

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

Z
zengyawen 已提交
3127 3128
**返回值:**

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

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

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

J
jidong 已提交
3147
### isTestOsAccount<sup>(deprecated)</sup>
3148

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

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

A
Annie_wang 已提交
3153
> **说明:** 
J
jidong 已提交
3154
>
A
Annie_wang 已提交
3155
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9)。
3156 3157 3158 3159 3160

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

**参数:**

J
jidong 已提交
3161 3162 3163
| 参数名   | 类型                         | 必填 | 说明                                                                   |
| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
3164 3165 3166 3167

**示例:**

  ```js
3168
  import { BusinessError } from '@ohos.base';
3169
  let accountManager = account_osAccount.getAccountManager();
3170
  accountManager.isTestOsAccount((err: BusinessError, isTestable: boolean) => {
J
jidong 已提交
3171
    if (err) {
C
chennian 已提交
3172
      console.log('isTestOsAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3173
    } else {
C
chennian 已提交
3174
      console.log('isTestOsAccount successfully, isTestable: ' + isTestable);
J
jidong 已提交
3175 3176
    }
  });
3177 3178
  ```

J
jidong 已提交
3179
### isTestOsAccount<sup>(deprecated)</sup>
3180

J
jidong 已提交
3181 3182 3183
isTestOsAccount(): Promise&lt;boolean&gt;

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

A
Annie_wang 已提交
3185
> **说明:** 
J
jidong 已提交
3186
>
A
Annie_wang 已提交
3187
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9-1)。
3188 3189 3190 3191 3192

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

**返回值:**

J
jidong 已提交
3193 3194 3195
| 类型                   | 说明                                                                      |
| ---------------------- | ------------------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
3196 3197 3198 3199

**示例:**

  ```js
3200
  import { BusinessError } from '@ohos.base';
3201
  let accountManager = account_osAccount.getAccountManager();
3202
    accountManager.isTestOsAccount().then((isTestable: boolean) => {
C
chennian 已提交
3203
      console.log('isTestOsAccount successfully, isTestable: ' + isTestable);
3204
    }).catch((err: BusinessError) => {
C
chennian 已提交
3205
      console.log('isTestOsAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3206
  });
3207 3208
  ```

J
jidong 已提交
3209
### isOsAccountVerified<sup>(deprecated)</sup>
3210

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

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

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

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

3221 3222 3223 3224
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3225 3226 3227
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3228 3229 3230 3231

**示例:**

  ```js
3232
  import { BusinessError } from '@ohos.base';
3233
  let accountManager = account_osAccount.getAccountManager();
3234
  accountManager.isOsAccountVerified((err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
3235
    if (err) {
C
chennian 已提交
3236
      console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3237
    } else {
C
chennian 已提交
3238
      console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
3239
    }
3240 3241 3242
  });
  ```

J
jidong 已提交
3243
### isOsAccountVerified<sup>(deprecated)</sup>
3244

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

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

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

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

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

J
jidong 已提交
3257
**参数:**
3258

J
jidong 已提交
3259 3260
| 参数名   | 类型                         | 必填 | 说明                                                            |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
3261
| localId  | number                       | 是   | 系统帐号ID。                             |
J
jidong 已提交
3262
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3263 3264

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

Z
zhangalong 已提交
3266
  ```js
3267
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3268
  let accountManager = account_osAccount.getAccountManager();
3269 3270
  let localId: number = 100;
  accountManager.isOsAccountVerified(localId, (err: BusinessError, isVerified: boolean) => {
J
jidong 已提交
3271
    if (err) {
C
chennian 已提交
3272
      console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3273
    } else {
C
chennian 已提交
3274
      console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
J
jidong 已提交
3275
    }
Z
zhangalong 已提交
3276 3277 3278
  });
  ```

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

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

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

A
Annie_wang 已提交
3285
> **说明:** 
J
jidong 已提交
3286
>
A
Annie_wang 已提交
3287
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-2)。
J
jidong 已提交
3288 3289

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

Z
zengyawen 已提交
3291 3292 3293
**系统能力:** SystemCapability.Account.OsAccount

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

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

Z
zengyawen 已提交
3299
**返回值:**
Z
zhangalong 已提交
3300

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

3305
**示例:**
Z
zhangalong 已提交
3306

Z
zhangalong 已提交
3307
  ```js
3308
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3309
  let accountManager = account_osAccount.getAccountManager();
3310
  accountManager.isOsAccountVerified(localId).then((isVerified: boolean) => {
C
chennian 已提交
3311
    console.log('isOsAccountVerified successfully, isVerified: ' + isVerified);
3312
  }).catch((err: BusinessError) => {
C
chennian 已提交
3313
    console.log('isOsAccountVerified failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3314
  });
Z
zhangalong 已提交
3315 3316
  ```

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

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

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

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

J
jidong 已提交
3327
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3328 3329

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

Z
zengyawen 已提交
3331
**参数:**
Z
zhangalong 已提交
3332

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

3337
**示例:**
Z
zhangalong 已提交
3338

Z
zhangalong 已提交
3339
  ```js
3340
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3341
  let accountManager = account_osAccount.getAccountManager();
3342
  accountManager.getCreatedOsAccountsCount((err: BusinessError, count: number)=>{
J
jidong 已提交
3343
    if (err) {
C
chennian 已提交
3344
      console.log('getCreatedOsAccountsCount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3345
    } else {
C
chennian 已提交
3346
      console.log('getCreatedOsAccountsCount successfully, count: ' + count);
J
jidong 已提交
3347
    }
Z
zhangalong 已提交
3348 3349 3350
  });
  ```

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

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

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

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

J
jidong 已提交
3361
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
Z
zengyawen 已提交
3362 3363

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

Z
zengyawen 已提交
3365
**返回值:**
Z
zhangalong 已提交
3366

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

3371
**示例:**
Z
zhangalong 已提交
3372

Z
zhangalong 已提交
3373
  ```js
3374
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3375
  let accountManager = account_osAccount.getAccountManager();
3376
  accountManager.getCreatedOsAccountsCount().then((count: number) => {
C
chennian 已提交
3377
    console.log('getCreatedOsAccountsCount successfully, count: ' + count);
3378
  }).catch((err: BusinessError) => {
C
chennian 已提交
3379
    console.log('getCreatedOsAccountsCount failed, error: ' + JSON.stringify(err));
Z
zhangalong 已提交
3380 3381 3382
  });
  ```

J
jidong 已提交
3383
### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3384

J
jidong 已提交
3385
getOsAccountLocalIdFromProcess(callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3386

J
jidong 已提交
3387
获取当前进程所属的系统帐号ID,使用callback异步回调。
Z
zengyawen 已提交
3388

A
Annie_wang 已提交
3389
> **说明:** 
J
jidong 已提交
3390
>
C
cclicn 已提交
3391
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9)。
Z
zengyawen 已提交
3392 3393 3394 3395

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

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

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

J
jidong 已提交
3401
**示例:**
Z
zhangalong 已提交
3402

Z
zhangalong 已提交
3403
  ```js
3404
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3405
  let accountManager = account_osAccount.getAccountManager();
3406
  accountManager.getOsAccountLocalIdFromProcess((err: BusinessError, localId: number) => {
J
jidong 已提交
3407
    if (err) {
C
chennian 已提交
3408
      console.log('getOsAccountLocalIdFromProcess failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3409
    } else {
C
chennian 已提交
3410
      console.log('getOsAccountLocalIdFromProcess failed, error: ' + localId);
J
jidong 已提交
3411 3412
    }
  });
Z
zhangalong 已提交
3413 3414
  ```

J
jidong 已提交
3415
### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3416

J
jidong 已提交
3417
getOsAccountLocalIdFromProcess(): Promise&lt;number&gt;
Z
zhangalong 已提交
3418

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

A
Annie_wang 已提交
3421
> **说明:**
J
jidong 已提交
3422
>
C
cclicn 已提交
3423
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9-1)。
Z
zhangalong 已提交
3424

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

Z
zengyawen 已提交
3427 3428
**返回值:**

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

J
jidong 已提交
3433
**示例:**
Z
zhangalong 已提交
3434

Z
zhangalong 已提交
3435
  ```js
3436
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3437
  let accountManager = account_osAccount.getAccountManager();
3438
  accountManager.getOsAccountLocalIdFromProcess().then((localId: number) => {
J
jidong 已提交
3439
    console.log('getOsAccountLocalIdFromProcess successfully, localId: ' + localId);
3440
  }).catch((err: BusinessError) => {
C
chennian 已提交
3441
    console.log('getOsAccountLocalIdFromProcess failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3442
  });
Z
zhangalong 已提交
3443 3444
  ```

J
jidong 已提交
3445
### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
Z
zhangalong 已提交
3446

J
jidong 已提交
3447
getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
Z
zhangalong 已提交
3448

J
jidong 已提交
3449
根据uid查询对应的系统帐号ID。使用callback异步回调。
Z
zengyawen 已提交
3450

A
Annie_wang 已提交
3451
> **说明:** 
J
jidong 已提交
3452
>
C
cclicn 已提交
3453
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9)。
Z
zhangalong 已提交
3454

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

Z
zengyawen 已提交
3457 3458
**参数:**

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

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

Z
zhangalong 已提交
3466
  ```js
3467
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3468
  let accountManager = account_osAccount.getAccountManager();
3469 3470
  let uid: number = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid, (err: BusinessError, localId: number) => {
J
jidong 已提交
3471
    if (err) {
C
chennian 已提交
3472
      console.log('getOsAccountLocalIdFromUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3473
    } else {
C
chennian 已提交
3474
      console.log('getOsAccountLocalIdFromUid successfully, localId: ' + localId);
J
jidong 已提交
3475 3476
    }
  });
Z
zhangalong 已提交
3477 3478
  ```

J
jidong 已提交
3479
### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
Z
zhangalong 已提交
3480

J
jidong 已提交
3481
getOsAccountLocalIdFromUid(uid: number): Promise&lt;number&gt;
Z
zhangalong 已提交
3482

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

A
Annie_wang 已提交
3485
> **说明:** 
J
jidong 已提交
3486
>
C
cclicn 已提交
3487
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9-1)。
Z
zhangalong 已提交
3488

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

Z
zengyawen 已提交
3491
**参数:**
Z
zhangalong 已提交
3492

J
jidong 已提交
3493 3494 3495
| 参数名 | 类型   | 必填 | 说明      |
| ------ | ------ | ---- | --------- |
| uid    | number | 是   | 进程uid。 |
Z
zhangalong 已提交
3496

Z
zengyawen 已提交
3497 3498
**返回值:**

J
jidong 已提交
3499 3500 3501
| 类型                  | 说明                                  |
| :-------------------- | :----------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回uid对应的系统帐号ID。 |
Z
zengyawen 已提交
3502

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

Z
zhangalong 已提交
3505
  ```js
3506
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3507
  let accountManager = account_osAccount.getAccountManager();
3508 3509
  let uid: number = 12345678;
  accountManager.getOsAccountLocalIdFromUid(uid).then((localId: number) => {
C
chennian 已提交
3510
    console.log('getOsAccountLocalIdFromUid successfully, localId: ' + localId);
3511
  }).catch((err: BusinessError) => {
C
chennian 已提交
3512
    console.log('getOsAccountLocalIdFromUid failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3513
  });
3514 3515
  ```

J
jidong 已提交
3516
### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3517

J
jidong 已提交
3518 3519 3520 3521
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void

根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用callback异步回调。

A
Annie_wang 已提交
3522
> **说明:** 
J
jidong 已提交
3523
>
C
cclicn 已提交
3524
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9)。
3525

J
jidong 已提交
3526
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3527 3528 3529 3530 3531

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

**参数:**

J
jidong 已提交
3532 3533 3534 3535
| 参数名     | 类型                                    | 必填 | 说明                                                                         |
| ---------- | --------------------------------------- | ---- | --------------------------------------------------------------------------- |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。                                                                |
| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调函数,如果获取成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。 |
3536

J
jidong 已提交
3537
**示例:**
3538 3539

  ```js
3540
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
3541
  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3542
  let accountManager = account_osAccount.getAccountManager();
3543
  accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err: BusinessError, localId: number) => {
J
jidong 已提交
3544
    if (err) {
C
chennian 已提交
3545
      console.log('getOsAccountLocalIdFromDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3546
    } else {
C
chennian 已提交
3547
      console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
J
jidong 已提交
3548 3549
    }
  });
3550 3551
  ```

J
jidong 已提交
3552
### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3553

J
jidong 已提交
3554 3555 3556 3557
getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;

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

A
Annie_wang 已提交
3558
> **说明:** 
J
jidong 已提交
3559
>
C
cclicn 已提交
3560
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9-1)。
3561

J
jidong 已提交
3562
**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3563 3564 3565 3566 3567

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

**参数:**

J
jidong 已提交
3568 3569 3570
| 参数名     | 类型                                    | 必填 | 说明         |
| ---------- | --------------------------------------- | ---- | ------------ |
| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。 |
3571 3572 3573

**返回值:**

J
jidong 已提交
3574 3575 3576
| 类型                  | 说明                                    |
| :-------------------- | :------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回域帐号关联的系统帐号ID。 |
3577

J
jidong 已提交
3578
**示例:**
3579 3580

  ```js
3581
  import { BusinessError } from '@ohos.base';
3582
  let accountManager = account_osAccount.getAccountManager();
J
jidong 已提交
3583
  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3584
  accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((localId: number) => {
J
jidong 已提交
3585
    console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
3586
  }).catch((err: BusinessError) => {
C
chennian 已提交
3587
    console.log('getOsAccountLocalIdFromDomain failed, error: ' + JSON.stringify(err));
J
jidong 已提交
3588
  });
Z
zhangalong 已提交
3589 3590
  ```

J
jidong 已提交
3591
### getOsAccountAllConstraints<sup>(deprecated)</sup>
Z
zhangalong 已提交
3592

J
jidong 已提交
3593
getOsAccountAllConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
Z
zhangalong 已提交
3594

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

A
Annie_wang 已提交
3597
> **说明:** 
3598
>
A
Annie_wang 已提交
3599
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9)。
J
jidong 已提交
3600 3601

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

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

Z
zengyawen 已提交
3605
**参数:**
Z
zhangalong 已提交
3606

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

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

Z
zhangalong 已提交
3614
  ```js
3615
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3616
  let accountManager = account_osAccount.getAccountManager();
3617 3618
  let localId: number = 100;
  accountManager.getOsAccountAllConstraints(localId, (err: BusinessError, constraints: string[])=>{
J
jidong 已提交
3619 3620
    console.log('getOsAccountAllConstraints err:' + JSON.stringify(err));
    console.log('getOsAccountAllConstraints:' + JSON.stringify(constraints));
Z
zhangalong 已提交
3621 3622 3623
  });
  ```

J
jidong 已提交
3624
### getOsAccountAllConstraints<sup>(deprecated)</sup>
Z
zhangalong 已提交
3625

J
jidong 已提交
3626
getOsAccountAllConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;
Z
zhangalong 已提交
3627

A
Annie_wang 已提交
3628
> **说明:** 
3629
>
A
Annie_wang 已提交
3630
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9-1)。
J
jidong 已提交
3631 3632 3633 3634

获取指定系统帐号的全部约束。使用Promise异步回调。

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

Z
zengyawen 已提交
3636 3637 3638
**系统能力:** SystemCapability.Account.OsAccount

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

J
jidong 已提交
3640 3641 3642
| 参数名  | 类型   | 必填 | 说明         |
| ------- | ------ | ---- | ------------ |
| localId | number | 是   | 系统帐号ID。 |
Z
zhangalong 已提交
3643

Z
zengyawen 已提交
3644
**返回值:**
Z
zhangalong 已提交
3645

J
jidong 已提交
3646 3647 3648
| 类型                               | 说明                                                         |
| :--------------------------------- | :----------------------------------------------------------- |
| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回指定系统帐号的全部[约束](#系统帐号约束列表)。 |
Z
zhangalong 已提交
3649

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

Z
zhangalong 已提交
3652
  ```js
3653
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3654
  let accountManager = account_osAccount.getAccountManager();
3655 3656
  let localId: number = 100;
  accountManager.getOsAccountAllConstraints(localId).then((constraints: string[]) => {
J
jidong 已提交
3657
    console.log('getOsAccountAllConstraints, constraints: ' + constraints);
3658
  }).catch((err: BusinessError) => {
C
chennian 已提交
3659
    console.log('getOsAccountAllConstraints err: ' + JSON.stringify(err));
Z
zhangalong 已提交
3660 3661 3662
  });
  ```

J
jidong 已提交
3663
### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3664

J
jidong 已提交
3665 3666 3667
queryActivatedOsAccountIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void

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

A
Annie_wang 已提交
3669
> **说明:** 
J
jidong 已提交
3670
>
C
cclicn 已提交
3671
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9)。
3672 3673 3674 3675 3676

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

**参数:**

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

J
jidong 已提交
3681
**示例:**
3682 3683

  ```js
3684
  import { BusinessError } from '@ohos.base';
3685
  let accountManager = account_osAccount.getAccountManager();
3686
  accountManager.queryActivatedOsAccountIds((err: BusinessError, idArray: number[])=>{
J
jidong 已提交
3687 3688 3689 3690 3691 3692
    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]);
    }
  });
3693 3694
  ```

J
jidong 已提交
3695
### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3696

J
jidong 已提交
3697
queryActivatedOsAccountIds(): Promise&lt;Array&lt;number&gt;&gt;
3698

A
Annie_wang 已提交
3699
> **说明:** 
J
jidong 已提交
3700
>
C
cclicn 已提交
3701
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9-1)。
3702

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

J
jidong 已提交
3705
**系统能力:** SystemCapability.Account.OsAccount
3706 3707 3708

**返回值:**

J
jidong 已提交
3709 3710 3711
| 类型                               | 说明                                               |
| ---------------------------------- | ------------------------------------------------- |
| Promise&lt;Array&lt;number&gt;&gt; | Promise对象,返回当前处于激活状态的系统帐号的ID列表。 |
3712

J
jidong 已提交
3713
**示例:**
3714 3715

  ```js
3716
  import { BusinessError } from '@ohos.base';
3717
  let accountManager = account_osAccount.getAccountManager();
3718
  accountManager.queryActivatedOsAccountIds().then((idArray: number[]) => {
J
jidong 已提交
3719
    console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
3720
  }).catch((err: BusinessError) => {
C
chennian 已提交
3721
    console.log('queryActivatedOsAccountIds err: ' + JSON.stringify(err));
J
jidong 已提交
3722
  });
3723 3724
  ```

J
jidong 已提交
3725
### queryCurrentOsAccount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3726

J
jidong 已提交
3727
queryCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void
Z
zhangalong 已提交
3728

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

A
Annie_wang 已提交
3731
> **说明:** 
3732
>
A
Annie_wang 已提交
3733
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9)。
J
jidong 已提交
3734 3735

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

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

Z
zengyawen 已提交
3739
**参数:**
Z
zhangalong 已提交
3740

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

J
jidong 已提交
3745
**示例:**
Z
zhangalong 已提交
3746

Z
zhangalong 已提交
3747
  ```js
3748
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3749
  let accountManager = account_osAccount.getAccountManager();
3750
  accountManager.queryCurrentOsAccount((err: BusinessError, curAccountInfo: account_osAccount.OsAccountInfo)=>{
J
jidong 已提交
3751 3752
    console.log('queryCurrentOsAccount err:' + JSON.stringify(err));
    console.log('queryCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
Z
zhangalong 已提交
3753 3754 3755
  });
  ```

J
jidong 已提交
3756
### queryCurrentOsAccount<sup>(deprecated)</sup>
Z
zhangalong 已提交
3757

J
jidong 已提交
3758
queryCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
Z
zhangalong 已提交
3759

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

A
Annie_wang 已提交
3762
> **说明:** 
3763
>
A
Annie_wang 已提交
3764
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9-1)。
Z
zengyawen 已提交
3765

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

J
jidong 已提交
3768
**系统能力:** SystemCapability.Account.OsAccount
Z
zhangalong 已提交
3769

Z
zengyawen 已提交
3770
**返回值:**
Z
zhangalong 已提交
3771

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

J
jidong 已提交
3776
**示例:**
Z
zhangalong 已提交
3777

Z
zhangalong 已提交
3778
  ```js
3779
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3780
  let accountManager = account_osAccount.getAccountManager();
3781
  accountManager.queryCurrentOsAccount().then((accountInfo: account_osAccount.OsAccountInfo) => {
J
jidong 已提交
3782
    console.log('queryCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
3783
  }).catch((err: BusinessError) => {
C
chennian 已提交
3784
    console.log('queryCurrentOsAccount err: ' + JSON.stringify(err));
Z
zhangalong 已提交
3785 3786 3787
  });
  ```

J
jidong 已提交
3788
### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3789

J
jidong 已提交
3790
getOsAccountTypeFromProcess(callback: AsyncCallback&lt;OsAccountType&gt;): void
Z
zhangalong 已提交
3791

J
jidong 已提交
3792
查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
Z
zengyawen 已提交
3793

A
Annie_wang 已提交
3794
> **说明:** 
J
jidong 已提交
3795
>
A
Annie_wang 已提交
3796
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9)。
Z
zhangalong 已提交
3797

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

Z
zengyawen 已提交
3800 3801
**参数:**

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

3806
**示例:**
Z
zhangalong 已提交
3807

Z
zhangalong 已提交
3808
  ```js
3809
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3810
  let accountManager = account_osAccount.getAccountManager();
3811
  accountManager.getOsAccountTypeFromProcess((err: BusinessError, accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
3812 3813 3814
    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
    console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
  });
Z
zhangalong 已提交
3815 3816
  ```

J
jidong 已提交
3817
### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
Z
zhangalong 已提交
3818

J
jidong 已提交
3819
getOsAccountTypeFromProcess(): Promise&lt;OsAccountType&gt;
Z
zhangalong 已提交
3820

J
jidong 已提交
3821
查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
Z
zengyawen 已提交
3822

A
Annie_wang 已提交
3823
> **说明:**
J
jidong 已提交
3824
>
A
Annie_wang 已提交
3825
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9-1)。
Z
zengyawen 已提交
3826 3827

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

J
jidong 已提交
3829
**返回值:**
Z
zhangalong 已提交
3830

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

3835
**示例:**
Z
zhangalong 已提交
3836

Z
zhangalong 已提交
3837
  ```js
3838
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3839
  let accountManager = account_osAccount.getAccountManager();
3840
  accountManager.getOsAccountTypeFromProcess().then((accountType: account_osAccount.OsAccountType) => {
J
jidong 已提交
3841
    console.log('getOsAccountTypeFromProcess, accountType: ' + accountType);
3842
  }).catch((err: BusinessError) => {
C
chennian 已提交
3843
    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
J
jidong 已提交
3844
  });
Z
zhangalong 已提交
3845 3846
  ```

J
jidong 已提交
3847
### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3848

J
jidong 已提交
3849
getDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void
3850

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

A
Annie_wang 已提交
3853
> **说明:** 
J
jidong 已提交
3854
>
A
Annie_wang 已提交
3855
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9)。
3856

J
jidong 已提交
3857
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS
3858 3859 3860 3861 3862

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

**参数:**

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

3867
**示例:**
3868 3869

  ```js
3870
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3871
  let accountManager = account_osAccount.getAccountManager();
3872
  accountManager.getDistributedVirtualDeviceId((err: BusinessError, virtualID: string) => {
J
jidong 已提交
3873 3874 3875
    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
    console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID);
  });
3876 3877
  ```

J
jidong 已提交
3878
### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3879

J
jidong 已提交
3880
getDistributedVirtualDeviceId(): Promise&lt;string&gt;
3881

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

A
Annie_wang 已提交
3884
> **说明:** 
J
jidong 已提交
3885
>
A
Annie_wang 已提交
3886
> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9-1)。
3887

J
jidong 已提交
3888
**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS
3889

J
jidong 已提交
3890
**系统能力:** SystemCapability.Account.OsAccount
3891 3892 3893

**返回值:**

J
jidong 已提交
3894 3895 3896
| 类型                  | 说明                              |
| --------------------- | --------------------------------- |
| Promise&lt;string&gt; | Promise对象,返回分布式虚拟设备ID。 |
3897

3898
**示例:**
3899 3900

  ```js
3901
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3902
  let accountManager = account_osAccount.getAccountManager();
3903
  accountManager.getDistributedVirtualDeviceId().then((virtualID: string) => {
J
jidong 已提交
3904
    console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID);
3905
  }).catch((err: BusinessError) => {
C
chennian 已提交
3906
    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
J
jidong 已提交
3907
  });
3908 3909
  ```

J
jidong 已提交
3910
### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3911

J
jidong 已提交
3912
getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void
3913

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

A
Annie_wang 已提交
3916
> **说明:** 
J
jidong 已提交
3917
>
C
cclicn 已提交
3918
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9)。
3919

3920 3921 3922 3923
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

J
jidong 已提交
3924 3925 3926 3927
| 参数名       | 类型                        | 必填 | 说明                                                                               |
| ------------ | --------------------------- | ---- | -------------------------------------------------------------------------------- |
| serialNumber | number                      | 是   | 帐号SN码。                                                                        |
| callback     | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。 |
3928

J
jidong 已提交
3929
**示例:** 查询与SN码12345关联的系统帐号的ID
3930 3931

  ```js
3932
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3933
  let accountManager = account_osAccount.getAccountManager();
3934 3935
  let serialNumber: number = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err: BusinessError, localId: number)=>{
J
jidong 已提交
3936 3937 3938
    console.log('ger localId err:' + JSON.stringify(err));
    console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
  });
3939 3940
  ```

J
jidong 已提交
3941
### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3942

J
jidong 已提交
3943
getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise&lt;number&gt;
3944

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

A
Annie_wang 已提交
3947
> **说明:** 
J
jidong 已提交
3948
>
C
cclicn 已提交
3949
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9-1)。
3950

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

J
jidong 已提交
3953 3954 3955 3956 3957 3958
**参数:**

| 参数名       | 类型   | 必填 | 说明       |
| ------------ | ------ | ---- | ---------- |
| serialNumber | number | 是   | 帐号SN码。 |

3959 3960 3961
**返回值:**

| 类型                  | 说明                                                         |
J
jidong 已提交
3962 3963
| --------------------- | -------------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与SN码关联的系统帐号的帐号ID。 |
3964

J
jidong 已提交
3965
**示例:** 查询与SN码12345关联的系统帐号的ID
3966 3967

  ```js
3968
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
3969
  let accountManager = account_osAccount.getAccountManager();
3970 3971
  let serialNumber: number = 12345;
  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId: number) => {
J
jidong 已提交
3972
    console.log('getOsAccountLocalIdBySerialNumber localId: ' + localId);
3973
  }).catch((err: BusinessError) => {
C
chennian 已提交
3974
    console.log('getOsAccountLocalIdBySerialNumber err: ' + JSON.stringify(err));
J
jidong 已提交
3975
  });
3976 3977
  ```

J
jidong 已提交
3978
### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
3979

J
jidong 已提交
3980
getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void
3981

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

A
Annie_wang 已提交
3984
> **说明:** 
J
jidong 已提交
3985
>
C
cclicn 已提交
3986
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9)。
3987 3988 3989 3990 3991

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

**参数:**

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

J
jidong 已提交
3997
**示例:** 获取ID为100的系统帐号关联的SN码
3998 3999

  ```js
4000
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
4001
  let accountManager = account_osAccount.getAccountManager();
4002 4003
  let localId: number = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId, (err: BusinessError, serialNumber: number)=>{
J
jidong 已提交
4004 4005 4006
    console.log('ger serialNumber err:' + JSON.stringify(err));
    console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
  });
4007 4008
  ```

J
jidong 已提交
4009
### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
4010

J
jidong 已提交
4011
getSerialNumberByOsAccountLocalId(localId: number): Promise&lt;number&gt;
4012

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

A
Annie_wang 已提交
4015
> **说明:** 
J
jidong 已提交
4016
>
C
cclicn 已提交
4017
> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9-1)。
4018 4019 4020 4021 4022

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

**参数:**

J
jidong 已提交
4023 4024 4025
| 参数名  | 类型   | 必填 | 说明          |
| ------- | ------ | ---- | ----------- |
| localId | number | 是   | 系统帐号ID。 |
4026 4027 4028

**返回值:**

J
jidong 已提交
4029 4030 4031
| 类型                  | 说明                                    |
| --------------------- | -------------------------------------- |
| Promise&lt;number&gt; | Promise对象,返回与该系统帐号关联的SN码。 |
4032

J
jidong 已提交
4033
**示例:** 获取ID为100的系统帐号关联的SN码
4034 4035

  ```js
4036
  import { BusinessError } from '@ohos.base';
F
fanchenxuan 已提交
4037
  let accountManager = account_osAccount.getAccountManager();
4038 4039
  let localId: number = 100;
  accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber: number) => {
J
jidong 已提交
4040
    console.log('getSerialNumberByOsAccountLocalId serialNumber: ' + serialNumber);
4041
  }).catch((err: BusinessError) => {
C
chennian 已提交
4042
    console.log('getSerialNumberByOsAccountLocalId err: ' + JSON.stringify(err));
J
jidong 已提交
4043
  });
4044 4045
  ```

4046 4047 4048 4049
## UserAuth<sup>8+</sup>

用户认证类。

J
jidong 已提交
4050
**系统接口:** 此接口为系统接口。
4051

4052 4053 4054 4055 4056 4057
### constructor<sup>8+</sup>

constructor()

创建用户认证的实例。

J
jidong 已提交
4058
**系统接口:** 此接口为系统接口。
4059

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

4062
**示例:**  
4063
  ```js
J
jidong 已提交
4064
  let userAuth = new account_osAccount.UserAuth();
4065 4066 4067 4068 4069 4070 4071 4072
  ```

### getVersion<sup>8+</sup>

getVersion(): number;

返回版本信息。

J
jidong 已提交
4073
**系统接口:** 此接口为系统接口。
4074 4075 4076 4077 4078 4079 4080 4081 4082

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

**返回值:**

| 类型   | 说明         |
| :----- | :----------- |
| number | 返回版本信息。|

4083
**示例:**  
4084
  ```js
J
jidong 已提交
4085
  let userAuth = new account_osAccount.UserAuth();
4086
  let version: number = userAuth.getVersion();
F
fanchenxuan 已提交
4087
  console.log('getVersion version = ' + version);
4088 4089 4090 4091 4092 4093
  ```

### getAvailableStatus<sup>8+</sup>

getAvailableStatus(authType: AuthType, authTrustLevel: AuthTrustLevel): number;

J
jidong 已提交
4094
获取指定认证类型和认证可信等级的认证能力的可用状态。
4095

J
jidong 已提交
4096
**系统接口:** 此接口为系统接口。
4097 4098 4099 4100 4101 4102 4103

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

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

**参数:**

J
jidong 已提交
4104 4105 4106 4107
| 参数名           | 类型                               | 必填 | 说明                       |
| --------------- | -----------------------------------| ---- | ------------------------- |
| authType        | [AuthType](#authtype8)             | 是   | 认证类型。     |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8) | 是   | 认证的可信等级。 |
4108 4109 4110

**返回值:**

J
jidong 已提交
4111 4112 4113 4114 4115 4116 4117 4118 4119 4120
| 类型   | 说明                           |
| ------ | ----------------------------- |
| number | 返回认证能力的可用状态。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType or authTrustLevel. |
4121

4122
**示例:**  
4123
  ```js
J
jidong 已提交
4124 4125 4126
  let userAuth = new account_osAccount.UserAuth();
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4127 4128 4129 4130 4131 4132
  try {
    let status = userAuth.getAvailableStatus(authType, authTrustLevel);
    console.log('getAvailableStatus status = ' + status);
  } catch (e) {
    console.log('getAvailableStatus exception = ' + JSON.stringify(e));
  }
4133 4134 4135 4136 4137 4138
  ```

### getProperty<sup>8+</sup>

getProperty(request: GetPropertyRequest, callback: AsyncCallback&lt;ExecutorProperty&gt;): void;

J
jidong 已提交
4139
基于指定的请求信息获取属性。使用callback异步回调。
4140

J
jidong 已提交
4141
**系统接口:** 此接口为系统接口。
4142 4143 4144 4145 4146 4147 4148 4149

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

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

**参数:**

| 参数名    | 类型                                                                    | 必填 | 说明                                |
J
jidong 已提交
4150
| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------ |
4151
| request  | [GetPropertyRequest](#getpropertyrequest8)                  | 是   | 请求信息,包括认证类型和属性类型列表。 |
J
jidong 已提交
4152 4153 4154 4155 4156 4157 4158 4159
| callback | AsyncCallback&lt;[ExecutorProperty](#executorproperty8)&gt; | 是   | 回调函数。如果获取成功,err为null,data为执行器属性信息;否则为错误对象。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid request. |
4160

4161
**示例:**
4162
  ```js
4163
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4164 4165
  let userAuth = new account_osAccount.UserAuth();
  let keys = [
4166
    account_osAccount.GetPropertyType.AUTH_SUB_TYPE,
J
jidong 已提交
4167 4168 4169
    account_osAccount.GetPropertyType.REMAIN_TIMES,
    account_osAccount.GetPropertyType.FREEZING_TIME
  ];
C
cclicn 已提交
4170
  let request: account_osAccount.GetPropertyRequest = {
J
jidong 已提交
4171 4172 4173
    authType: account_osAccount.AuthType.PIN,
    keys: keys
  };
4174
  try {
4175
    userAuth.getProperty(request, (err: BusinessError, result: account_osAccount.ExecutorProperty) => {
4176 4177 4178 4179 4180 4181
      console.log('getProperty err = ' + JSON.stringify(err));
      console.log('getProperty result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getProperty exception = ' + JSON.stringify(e));
  }
4182 4183 4184 4185
  ```

### getProperty<sup>8+</sup>

4186
getProperty(request: GetPropertyRequest): Promise&lt;ExecutorProperty&gt;;
4187

J
jidong 已提交
4188
基于指定的请求信息获取属性。使用Promise异步回调。
4189

J
jidong 已提交
4190
**系统接口:** 此接口为系统接口。
4191 4192 4193 4194 4195 4196 4197 4198 4199

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

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

**参数:**

| 参数名    | 类型                                                   | 必填 | 说明                                |
| -------- | ------------------------------------------------------ | ---- | ---------------------------------- |
4200
| request  | [GetPropertyRequest](#getpropertyrequest8) | 是   | 请求信息,包括认证类型和属性类型列表。 |
4201 4202 4203 4204 4205

**返回值:**

| 类型                                                              | 说明                                                 |
| :---------------------------------------------------------------- | :-------------------------------------------------- |
J
jidong 已提交
4206
| Promise&lt;[ExecutorProperty](#executorproperty8)&gt; | Promise对象,返回执行者属性信息。 |
4207

J
jidong 已提交
4208 4209 4210 4211 4212 4213 4214
**错误码:**

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

4215
**示例:**
4216
  ```js
4217
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4218 4219 4220 4221 4222 4223
  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 已提交
4224
  let request: account_osAccount.GetPropertyRequest = {
J
jidong 已提交
4225 4226 4227
    authType: account_osAccount.AuthType.PIN,
    keys: keys
  };
4228
  try {
4229
    userAuth.getProperty(request).then((result: account_osAccount.ExecutorProperty) => {
4230
      console.log('getProperty result = ' + JSON.stringify(result));
4231
    }).catch((err: BusinessError) => {
4232 4233 4234 4235 4236
      console.log('getProperty error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('getProperty exception = ' + JSON.stringify(e));
  }
4237 4238 4239 4240
  ```

### setProperty<sup>8+</sup>

4241
setProperty(request: SetPropertyRequest, callback: AsyncCallback&lt;void&gt;): void;
4242

J
jidong 已提交
4243
设置可用于初始化算法的属性。使用callback异步回调。
4244

J
jidong 已提交
4245
**系统接口:** 此接口为系统接口。
4246 4247 4248 4249 4250 4251 4252 4253 4254

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

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

**参数:**

| 参数名    | 类型                                                  | 必填 | 说明                                                                    |
| -------- | ----------------------------------------------------- | ---- | ---------------------------------------------------------------------- |
4255
| request  | [SetPropertyRequest](#setpropertyrequest8)| 是   | 请求信息,包括认证类型和要设置的密钥值。                                   |
4256
| callback | AsyncCallback&lt;void&gt;                           | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
4257

J
jidong 已提交
4258 4259 4260 4261 4262 4263 4264
**错误码:**

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

4265
**示例:**
4266
  ```js
4267
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4268
  let userAuth = new account_osAccount.UserAuth();
C
cclicn 已提交
4269
  let request: account_osAccount.SetPropertyRequest = {
J
jidong 已提交
4270 4271 4272 4273
    authType: account_osAccount.AuthType.PIN,
    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
    setInfo: new Uint8Array([0])
  };
4274
  try {
4275
    userAuth.setProperty(request, (err: BusinessError) => {
4276 4277 4278 4279 4280
      if (err) {
        console.log('setProperty failed, error = ' + JSON.stringify(err));
      } else {
        console.log('setProperty successfully');
      }
4281 4282 4283 4284
    });
  } catch (e) {
    console.log('setProperty exception = ' + JSON.stringify(e));
  }
4285 4286 4287 4288
  ```

### setProperty<sup>8+</sup>

4289
setProperty(request: SetPropertyRequest): Promise&lt;void&gt;;
4290

J
jidong 已提交
4291
设置可用于初始化算法的属性。使用Promise异步回调。
4292

J
jidong 已提交
4293
**系统接口:** 此接口为系统接口。
4294 4295 4296 4297 4298 4299 4300

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

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

**参数:**

J
jidong 已提交
4301 4302
| 参数名    | 类型                                       | 必填 | 说明                                      |
| -------- | ------------------------------------------ | ---- | ---------------------------------------- |
4303
| request  | [SetPropertyRequest](#setpropertyrequest8) | 是   | 请求信息,包括身份验证类型和要设置的密钥值。 |
4304 4305 4306

**返回值:**

J
jidong 已提交
4307 4308
| 类型                  | 说明                                                           |
| :-------------------- | :------------------------------------------------------------ |
A
Annie_wang 已提交
4309
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
4310

J
jidong 已提交
4311 4312 4313 4314 4315 4316 4317
**错误码:**

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

4318
**示例:**
4319
  ```js
4320
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
4321
  let userAuth = new account_osAccount.UserAuth();
C
cclicn 已提交
4322
  let request2: account_osAccount.SetPropertyRequest = {
J
jidong 已提交
4323 4324 4325 4326
    authType: account_osAccount.AuthType.PIN,
    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
    setInfo: new Uint8Array([0])
  };
4327
  try {
4328
    userAuth.setProperty(request2).then(() => {
4329
      console.log('setProperty successfully');
4330
    }).catch((err: BusinessError) => {
4331
      console.log('setProperty failed, error = ' + JSON.stringify(err));
4332 4333 4334 4335
    });
  } catch (e) {
    console.log('setProperty exception = ' + JSON.stringify(e));
  }
4336 4337 4338 4339 4340 4341
  ```

### auth<sup>8+</sup>

auth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

J
jidong 已提交
4342
认证当前用户。使用callback异步回调。
4343

J
jidong 已提交
4344
**系统接口:** 此接口为系统接口。
4345 4346 4347 4348 4349 4350 4351

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

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

**参数:**

J
jidong 已提交
4352 4353
| 参数名           | 类型                                     | 必填 | 说明                                |
| --------------- | ---------------------------------------- | --- | ------------------------------------ |
J
jidong 已提交
4354
| challenge       | Uint8Array                               | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。|
4355 4356
| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
J
jidong 已提交
4357
| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4358 4359 4360 4361

**返回值:**

| 类型        | 说明               |
J
jidong 已提交
4362
| ---------- | ------------------ |
4363 4364
| Uint8Array | 返回取消的上下文ID。 |

J
jidong 已提交
4365 4366 4367 4368 4369
**错误码:**

| 错误码ID | 错误信息          |
| -------- | --------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
4370
| 12300002 | Invalid challenge, authType or authTrustLevel. |
J
jidong 已提交
4371
| 12300101 | Credential is incorrect. |
4372
| 12300102 | Credential not enrolled. |
J
jidong 已提交
4373 4374
| 12300105 | Unsupported authTrustLevel. |
| 12300106 | Unsupported authType. |
4375
| 12300109 | Authentication is canceled. |
C
chennian 已提交
4376
| 12300110 | Authentication is locked. |
J
jidong 已提交
4377
| 12300111 | Authentication timeout. |
C
chennian 已提交
4378
| 12300112 | Authentication service is busy. |
J
jidong 已提交
4379

4380
**示例:**
4381
  ```js
J
jidong 已提交
4382 4383 4384 4385
  let userAuth = new account_osAccount.UserAuth();
  let challenge = new Uint8Array([0]);
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4386 4387
  try {
    userAuth.auth(challenge, authType, authTrustLevel, {
4388
      onResult: (result,extraInfo) => {
4389 4390 4391 4392 4393 4394 4395
          console.log('auth result = ' + result);
          console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('auth exception = ' + JSON.stringify(e));
  }
4396 4397 4398 4399 4400 4401
  ```

### authUser<sup>8+</sup>

authUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

J
jidong 已提交
4402
认证指定用户。使用callback异步回调。
4403

J
jidong 已提交
4404
**系统接口:** 此接口为系统接口。
4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415

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

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

**参数:**

| 参数名           | 类型                                                 | 必填 | 说明                                |
| --------------- | ---------------------------------------------------- | --- | ------------------------------------ |
| userId          | number                                               | 是  | 指示用户身份。                        |
| challenge       | Uint8Array                                           | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。                          |
4416 4417
| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
J
jidong 已提交
4418
| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4419 4420 4421 4422

**返回值:**

| 类型        | 说明               |
J
jidong 已提交
4423
| ---------- | ------------------ |
4424 4425
| Uint8Array | 返回取消的上下文ID。 |

J
jidong 已提交
4426 4427 4428 4429 4430
**错误码:**

| 错误码ID | 错误信息          |
| -------- | --------------------- |
| 12300001 | System service exception. |
J
jidong 已提交
4431
| 12300002 | Invalid userId, challenge, authType or authTrustLevel. |
J
jidong 已提交
4432
| 12300101 | Credential is incorrect. |
4433
| 12300102 | Credential not enrolled. |
J
jidong 已提交
4434 4435
| 12300105 | Unsupported authTrustLevel. |
| 12300106 | Unsupported authType. |
4436
| 12300109 | Authentication is canceled. |
C
chennian 已提交
4437
| 12300110 | Authentication is locked. |
J
jidong 已提交
4438
| 12300111 | Authentication timeout. |
C
chennian 已提交
4439
| 12300112 | Authentication service is busy. |
J
jidong 已提交
4440

4441
**示例:**
4442
  ```js
J
jidong 已提交
4443
  let userAuth = new account_osAccount.UserAuth();
4444
  let userID: number = 100;
J
jidong 已提交
4445 4446 4447
  let challenge = new Uint8Array([0]);
  let authType = account_osAccount.AuthType.PIN;
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4448 4449
  try {
    userAuth.authUser(userID, challenge, authType, authTrustLevel, {
4450
      onResult: (result,extraInfo) => {
J
jidong 已提交
4451 4452
        console.log('authUser result = ' + result);
        console.log('authUser extraInfo = ' + JSON.stringify(extraInfo));
4453 4454 4455 4456 4457
      }
    });
  } catch (e) {
    console.log('authUser exception = ' + JSON.stringify(e));
  }
4458 4459 4460 4461
  ```

### cancelAuth<sup>8+</sup>

4462
cancelAuth(contextID: Uint8Array): void;
4463

J
jidong 已提交
4464
取消指定的认证操作。
4465

J
jidong 已提交
4466
**系统接口:** 此接口为系统接口。
4467 4468 4469 4470 4471 4472 4473 4474 4475

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

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

**参数:**

| 参数名    | 类型       | 必填  | 说明                                        |
| ----------| ---------- | ---- | ------------------------------------------ |
J
jidong 已提交
4476 4477 4478 4479 4480 4481 4482 4483
| contextId | Uint8Array | 是   | 指示身份验证上下文ID,此ID动态生成没有具体值。 |

**错误码:**

| 错误码ID | 错误信息            |
| -------- | ------------------ |
| 12300001 | System service exception. |
| 12300002 | Invalid contextId. |
4484

4485
**示例:**
4486
  ```js
J
jidong 已提交
4487
  let userAuth = new account_osAccount.UserAuth();
4488
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
4489
  let challenge = new Uint8Array([0]);
J
jidong 已提交
4490
  let contextId = userAuth.auth(challenge, account_osAccount.AuthType.PIN, account_osAccount.AuthTrustLevel.ATL1, {
4491
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
4492 4493
      console.log('auth result = ' + result);
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
4494 4495
    }
  });
4496
  try {
J
jidong 已提交
4497
    userAuth.cancelAuth(contextId);
4498 4499 4500
  } catch (e) {
    console.log('cancelAuth exception = ' + JSON.stringify(e));
  }
4501 4502 4503 4504
  ```

## PINAuth<sup>8+</sup>

W
wangyihui 已提交
4505
PIN码认证基类。
4506

J
jidong 已提交
4507
**系统接口:** 此接口为系统接口。
4508

4509 4510 4511 4512
### constructor<sup>8+</sup>

constructor()

W
wangyihui 已提交
4513
创建PIN码认证的实例。
4514

J
jidong 已提交
4515
**系统接口:** 此接口为系统接口。
L
lichenchen 已提交
4516

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

4519
**示例:**  
4520
  ```js
4521
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
4522 4523
  ```

4524
### registerInputer<sup>8+</sup>
4525

J
jidong 已提交
4526
registerInputer(inputer: IInputer): void;
4527

J
jidong 已提交
4528
注册PIN码输入器。
4529

J
jidong 已提交
4530
**系统接口:** 此接口为系统接口。
4531 4532 4533 4534 4535 4536 4537

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

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

**参数:**

J
jidong 已提交
4538 4539 4540
| 参数名    | 类型                     | 必填 | 说明                      |
| ----------| ----------------------- | --- | -------------------------- |
| inputer   | [IInputer](#iinputer8)  | 是  | PIN码输入器,用于获取PIN码。 |
4541

J
jidong 已提交
4542 4543 4544 4545 4546
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
chennian 已提交
4547
| 12300002 | Invalid inputer. |
J
jidong 已提交
4548 4549
| 12300103 | Inputer already registered. |

4550
**示例:**
4551
  ```js
4552
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
4553
  let password = new Uint8Array([0, 0, 0, 0, 0]);
4554 4555
  try {
    let result = pinAuth.registerInputer({
4556
        onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
4557
          callback.onSetData(authSubType, password);
4558 4559 4560 4561 4562 4563
        }
    });
    console.log('registerInputer result = ' + result);
  } catch (e) {
    console.log('registerInputer exception = ' + JSON.stringify(e));
  }
4564 4565
  ```

4566
### unregisterInputer<sup>8+</sup>
4567 4568 4569

unregisterInputer(): void;

J
jidong 已提交
4570
解注册PIN码输入器。
4571

J
jidong 已提交
4572
**系统接口:** 此接口为系统接口。
4573 4574 4575 4576 4577

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

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

4578
**示例:**
4579
  ```js
4580
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
4581 4582 4583
  pinAuth.unregisterInputer();
  ```

J
jidong 已提交
4584
## InputerManager <sup>9+</sup>
W
wangyihui 已提交
4585 4586 4587

凭据输入管理器。

J
jidong 已提交
4588
### registerInputer<sup>9+</sup>
W
wangyihui 已提交
4589

J
jidong 已提交
4590
static registerInputer(authType: AuthType, inputer: IInputer): void
W
wangyihui 已提交
4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611

注册凭据输入器。

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

**系统能力:** 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 已提交
4612
| 12300002 | Invalid authType or inputer. |
W
wangyihui 已提交
4613 4614 4615 4616 4617 4618
| 12300103 | The credential inputer has been registered. |
| 12300106 | Unsupported authType. |

**示例:**
  ```js
  let authType = account_osAccount.AuthType.DOMAIN;
4619
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0]);
W
wangyihui 已提交
4620
  try {
J
jidong 已提交
4621
    account_osAccount.InputerManager.registerInputer(authType, {
4622
        onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
4623 4624 4625 4626 4627 4628 4629 4630 4631
          callback.onSetData(authSubType, password);
        }
    });
    console.log('registerInputer success.');
  } catch (e) {
    console.log('registerInputer exception = ' + JSON.stringify(e));
  }
  ```

J
jidong 已提交
4632
### unregisterInputer<sup>9+</sup>
W
wangyihui 已提交
4633

J
jidong 已提交
4634
static unregisterInputer(authType: AuthType): void
W
wangyihui 已提交
4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659

解注册凭据输入器。

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

**系统能力:** 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 已提交
4660
    account_osAccount.InputerManager.unregisterInputer(authType);
W
wangyihui 已提交
4661 4662
    console.log('unregisterInputer success.');
  } catch(err) {
C
chennian 已提交
4663
    console.log('unregisterInputer err:' + JSON.stringify(err));
W
wangyihui 已提交
4664 4665 4666
  }
  ```

J
jidong 已提交
4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692
## 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
4693
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4694
  let plugin: account_osAccount.DomainPlugin = {
4695 4696
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4697
      // mock authentication
J
jidong 已提交
4698
      // notify authentication result
C
cclicn 已提交
4699
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4700 4701 4702
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4703 4704
      };
      callback.onResult(0, result);
J
jidong 已提交
4705
    },
4706 4707 4708 4709
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {},
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4710
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4711 4712 4713 4714 4715 4716 4717 4718 4719
                    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 已提交
4720 4721 4722 4723
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin);
  let userAuth = new account_osAccount.UserAuth();
  let challenge = new Uint8Array([0]);
J
jidong 已提交
4724
  let authType = account_osAccount.AuthType.DOMAIN;
J
jidong 已提交
4725 4726 4727
  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
  try {
    userAuth.auth(challenge, authType, authTrustLevel, {
4728
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
4729 4730 4731 4732 4733 4734 4735 4736 4737
          console.log('auth resultCode = ' + resultCode);
          console.log('auth authResult = ' + JSON.stringify(authResult));
      }
    });
  } catch (err) {
    console.log('auth exception = ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756
### authWithPopup<sup>10+</sup>

authWithPopup(domainAccountInfo: DomainAccountInfo, callback: IUserAuthCallback): void

弹窗认证指定的域帐号。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|

**示例:**
  ```js
4757
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4758
  let plugin: account_osAccount.DomainPlugin = {
4759 4760 4761 4762
    auth: (domainAccountInfo: account_osAccount.DomainAccountInfo, credential: Uint8Array,
          callback: account_osAccount.IUserAuthCallback) => {},
    authWithPopup: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                    callback: account_osAccount.IUserAuthCallback) => {
J
jidong 已提交
4763 4764
      // mock authentication
      // notify authentication result
C
cclicn 已提交
4765
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4766 4767 4768
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4769 4770
      };
      callback.onResult(0, result);
J
jidong 已提交
4771
    },
4772 4773
    authWithToken: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                    callback: account_osAccount.IUserAuthCallback) => {},
4774
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4775 4776 4777 4778 4779 4780 4781 4782 4783
                    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 已提交
4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807
  }
  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
4808
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
4809
  let plugin: account_osAccount.DomainPlugin = {
4810 4811 4812 4813 4814 4815
    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 已提交
4816 4817
      // mock authentication
      // notify authentication result
C
cclicn 已提交
4818
      let result: account_osAccount.AuthResult = {
J
jidong 已提交
4819 4820 4821
        token: new Uint8Array([0]),
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4822 4823
      };
      callback.onResult(0, result);
J
jidong 已提交
4824
    },
4825
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4826 4827 4828 4829 4830 4831 4832 4833 4834
                    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 已提交
4835 4836 4837 4838 4839 4840
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

### getAccountInfo<sup>10+</sup>

4841
getAccountInfo(options: GetDomainAccountInfoPluginOptions, callback: AsyncCallback&lt;DomainAccountInfo&gt;): void
J
jidong 已提交
4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852

查询指定域帐号的信息。

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
4853
| options   | [GetDomainAccountInfoPluginOptions](#getdomainaccountinfopluginoptions10)  | 是   | 指示域帐号信息。|
J
jidong 已提交
4854 4855 4856 4857
| callback   | AsyncCallback&lt;[DomainAccountInfo](#domainaccountinfo8)&gt; | 是   | 指示查询结果回调。|

**示例:**
  ```js
4858
  import { AsyncCallback, BusinessError } from '@ohos.base';
C
cclicn 已提交
4859
  let plugin: account_osAccount.DomainPlugin = {
4860 4861 4862 4863 4864 4865
    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) => {},
4866
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4867
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {
J
jidong 已提交
4868 4869
      // mock getting account information
      // notify result
C
cclicn 已提交
4870 4871 4872 4873 4874 4875
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let accountInfo: account_osAccount.DomainAccountInfo = {
4876 4877
        domain: options.domain,
        accountName: options.accountName,
C
chennian 已提交
4878
        accountId: 'xxxx'
C
cclicn 已提交
4879 4880
      };
      callback(code, accountInfo);
J
jidong 已提交
4881
    },
4882 4883 4884 4885 4886 4887 4888 4889
    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 已提交
4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912
  }
  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
4913
  import { AsyncCallback, BusinessError } from '@ohos.base';
C
cclicn 已提交
4914
  let plugin: account_osAccount.DomainPlugin = {
4915 4916 4917 4918 4919 4920
    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) => {},
4921
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4922 4923 4924
                    callback: AsyncCallback<account_osAccount.DomainAccountInfo>) => {},
    getAuthStatusInfo: (domainAccountInfo: account_osAccount.DomainAccountInfo,
                        callback: AsyncCallback<account_osAccount.AuthStatusInfo>) => {
C
cclicn 已提交
4925 4926 4927 4928 4929 4930
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let statusInfo: account_osAccount.AuthStatusInfo = {
J
jidong 已提交
4931 4932
        remainTimes: 5,
        freezingTime: 0
C
cclicn 已提交
4933 4934
      };
      callback(code, statusInfo);
J
jidong 已提交
4935
    },
4936 4937 4938 4939 4940 4941
    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 已提交
4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964
  }
  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
4965
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
4966
  let plugin: account_osAccount.DomainPlugin = {
4967 4968 4969 4970 4971 4972
    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) => {},
4973
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
4974 4975 4976 4977 4978
                    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 已提交
4979 4980
      // mock unbinding operation
      // notify binding result
C
cclicn 已提交
4981 4982 4983 4984 4985 4986
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      callback(code);
J
jidong 已提交
4987
    },
4988 4989 4990 4991
    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 已提交
4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014
  }
  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
5015
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5016
  let plugin: account_osAccount.DomainPlugin = {
5017 5018 5019 5020 5021 5022
    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) => {},
5023
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5024 5025 5026 5027 5028 5029
                    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 已提交
5030 5031
      // mock unbinding operation
      // notify unbinding result
C
cclicn 已提交
5032 5033 5034 5035 5036 5037
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      callback(code);
J
jidong 已提交
5038
    },
5039 5040 5041
    isAccountTokenValid: (domainAccountInfo: account_osAccount.DomainAccountInfo, token: Uint8Array,
                          callback: AsyncCallback<boolean>) => {},
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065
  }
  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
5066
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5067
  let plugin: account_osAccount.DomainPlugin = {
5068 5069 5070 5071 5072 5073
    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) => {},
5074
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5075 5076 5077 5078 5079 5080 5081 5082
                    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 已提交
5083 5084
      // mock checking operation
      // notify checking result
C
cclicn 已提交
5085 5086 5087 5088 5089
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
5090
      callback(code, true);
J
jidong 已提交
5091
    },
5092
    getAccessToken: (options: account_osAccount.GetDomainAccessTokenOptions, callback: AsyncCallback<Uint8Array>) => {}
J
jidong 已提交
5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115
  }
  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
5116
  import { AsyncCallback, BusinessError } from './@ohos.base';
C
cclicn 已提交
5117
  let plugin: account_osAccount.DomainPlugin = {
5118 5119 5120 5121 5122 5123
    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) => {},
5124
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5125 5126 5127 5128 5129 5130 5131 5132 5133
                    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 已提交
5134 5135
      // mock getting operation
      // notify result
C
cclicn 已提交
5136 5137 5138 5139 5140 5141
      let code: BusinessError = {
        code: 0,
        name: "",
        message: ""
      };
      let token: Uint8Array = new Uint8Array([0]);
5142
      callback(code, token);
J
jidong 已提交
5143 5144 5145 5146 5147
    }
  }
  account_osAccount.DomainAccountManager.registerPlugin(plugin)
  ```

J
jidong 已提交
5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172
## 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 已提交
5173
| 12300201 | The domain plugin has been registered. |
J
jidong 已提交
5174 5175 5176

**示例:**
  ```js
5177
  import { AsyncCallback } from './@ohos.base';
C
cclicn 已提交
5178
  let plugin: account_osAccount.DomainPlugin = {
5179 5180 5181 5182 5183 5184
    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) => {},
5185
    getAccountInfo: (options: account_osAccount.GetDomainAccountInfoPluginOptions,
5186 5187 5188 5189 5190 5191 5192 5193 5194
                   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 已提交
5195 5196 5197 5198 5199
  }
  try {
    account_osAccount.DomainAccountManager.registerPlugin(plugin);
    console.log('registerPlugin success.');
  } catch(err) {
C
chennian 已提交
5200
    console.log('registerPlugin err:' + JSON.stringify(err));
J
jidong 已提交
5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221
  }
  ```

### 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 已提交
5222
    console.log('unregisterPlugin err:' + JSON.stringify(err));
J
jidong 已提交
5223 5224 5225
  }
  ```

J
jidong 已提交
5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249
### 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 已提交
5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260
| 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 已提交
5261 5262 5263

**示例:**
  ```js
C
cclicn 已提交
5264
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5265 5266
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5267 5268 5269 5270
  }
  let credential = new Uint8Array([0])
  try {
    account_osAccount.DomainAccountManager.auth(domainAccountInfo, credential, {
5271
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302
        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 已提交
5303 5304 5305 5306 5307 5308 5309 5310 5311 5312
| 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 已提交
5313 5314 5315 5316 5317

**示例:**
  ```js
  try {
    account_osAccount.DomainAccountManager.authWithPopup({
5318
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350
        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 已提交
5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361
| 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 已提交
5362 5363 5364 5365 5366

**示例:**
  ```js
  try {
    account_osAccount.DomainAccountManager.authWithPopup(100, {
5367
      onResult: (resultCode: number, authResult: account_osAccount.AuthResult) => {
J
jidong 已提交
5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399
        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 已提交
5400 5401 5402
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
5403
| 12300111 | Operation timeout. |
J
jidong 已提交
5404 5405 5406

**示例:**
  ```js
5407
  import { BusinessError } from '@ohos.base';
5408
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5409 5410
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5411 5412
  }
  try {
5413
    account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo, (err: BusinessError, result: boolean) => {
J
jidong 已提交
5414
      if (err) {
C
chennian 已提交
5415
        console.log('call hasAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5416
      } else {
C
chennian 已提交
5417
        console.log('hasAccount result: ' + result);
J
jidong 已提交
5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452
      }
    });
  } 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 已提交
5453 5454 5455
| 12300001 | System service exception. |
| 12300002 | Invalid domainAccountInfo. |
| 12300013 | Network exception. |
5456
| 12300111 | Operation timeout. |
J
jidong 已提交
5457 5458 5459

**示例:**
  ```js
5460
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5461
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5462 5463
    domain: 'CHINA',
    accountName: 'zhangsan'
J
jidong 已提交
5464 5465
  }
  try {
5466
    account_osAccount.DomainAccountManager.hasAccount(domainAccountInfo).then((result: boolean) => {
C
chennian 已提交
5467
      console.log('hasAccount result: ' + result);
5468
    }).catch((err: BusinessError) => {
C
chennian 已提交
5469
        console.log('call hasAccount failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5470 5471 5472 5473 5474 5475
    });
  } catch (err) {
    console.log('hasAccount exception = ' + JSON.stringify(err));
  }
  ```

J
jidong 已提交
5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505
### 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
5506
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5507
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5508 5509 5510
    domain: 'CHINA',
    accountName: 'zhangsan',
    accountId: '123456'
J
jidong 已提交
5511 5512 5513
  }
  let token = new Uint8Array([0])
  try {
5514
    account_osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token, (err: BusinessError) => {
J
jidong 已提交
5515
      if (err != null) {
C
chennian 已提交
5516
        console.log('updateAccountToken failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5517
      } else {
C
chennian 已提交
5518
        console.log('updateAccountToken successfully');
J
jidong 已提交
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
      }
    })
  } 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
5561
  import { BusinessError } from '@ohos.base';
C
cclicn 已提交
5562
  let domainAccountInfo: account_osAccount.DomainAccountInfo = {
C
chennian 已提交
5563 5564 5565
    domain: 'CHINA',
    accountName: 'zhangsan',
    accountId: '123456'
J
jidong 已提交
5566 5567 5568 5569
  }
  let token = new Uint8Array([0])
  try {
    account_osAccount.DomainAccountManager.updateAccountToken(domainAccountInfo, token).then(() => {
C
chennian 已提交
5570
      console.log('updateAccountToken successfully');
5571
    }).catch((err: BusinessError) => {
C
chennian 已提交
5572
        console.log('updateAccountToken failed, error: ' + JSON.stringify(err));
J
jidong 已提交
5573 5574 5575 5576 5577 5578
    });
  } catch (err) {
    console.log('updateAccountToken exception = ' + JSON.stringify(err));
  }
  ```

5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602
### getAccountInfo<sup>10+</sup>

getAccountInfo(options: GetDomainAccountInfoOptions, callback: AsyncCallback&lt;DomainAccountInfo&gt;): void

查询指定的域帐号信息,callback方式。

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

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| options   | [GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)  | 是   | 指示域帐号信息。|
| callback   | AsyncCallback&lt;DomainAccountInfo&gt;  | 是   | 指示查询结果回调。|

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
cc_ggboy 已提交
5603
| 12300003 | Account not found. |
5604 5605 5606 5607 5608 5609
| 12300013 | Network exception. |
| 12300111 | Operation timeout. |

**示例:**
  ```js
  import { BusinessError } from '@ohos.base';
C
cc_ggboy 已提交
5610
  let domainAccountInfo: account_osAccount.GetDomainAccountInfoOptions = {
5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656
    domain: 'CHINA',
    accountName: 'zhangsan'
  }
  try {
    account_osAccount.DomainAccountManager.getAccountInfo(domainAccountInfo,
      (err: BusinessError, result: account_osAccount.DomainAccountInfo) => {
      if (err) {
        console.log('call getAccountInfo failed, error: ' + JSON.stringify(err));
      } else {
        console.log('getAccountInfo result: ' + result);
      }
    });
  } catch (err) {
    console.log('getAccountInfo exception = ' + JSON.stringify(err));
  }
  ```

### getAccountInfo<sup>10+</sup>

getAccountInfo(options: GetDomainAccountInfoOptions): Promise&lt;DomainAccountInfo&gt;

查询指定的域帐号信息,promise方式。

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

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

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

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
| options   | [GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)  | 是   | 指示域帐号信息。|

**返回值:**

| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;DomainAccountInfo&gt; | Promise对象,返回指定的域帐号信息。 |

**错误码:**

| 错误码ID | 错误信息                     |
| -------- | --------------------------- |
| 12300001 | System service exception. |
C
cc_ggboy 已提交
5657
| 12300003 | Account not found. |
5658 5659 5660 5661 5662 5663
| 12300013 | Network exception. |
| 12300111 | Operation timeout. |

**示例:**
  ```js
  import { BusinessError } from '@ohos.base';
C
cc_ggboy 已提交
5664
  let domainAccountInfo: account_osAccount.GetDomainAccountInfoOptions = {
5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679
    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));
  }
  ```

5680 5681 5682 5683
## UserIdentityManager<sup>8+</sup>

获取用户身份管理类。

J
jidong 已提交
5684
**系统接口:** 此接口为系统接口。
5685

5686 5687 5688 5689
### constructor<sup>8+</sup>

constructor()

J
jidong 已提交
5690
用户身份管理类的默认构造函数。
5691

J
jidong 已提交
5692
**系统接口:** 此接口为系统接口。
5693

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

5696
**示例:**  
5697
  ```js
J
jidong 已提交
5698
  let userIDM = new account_osAccount.UserIdentityManager();
5699 5700 5701 5702 5703 5704
  ```

### openSession<sup>8+</sup>

openSession(callback: AsyncCallback&lt;Uint8Array&gt;): void;

J
jidong 已提交
5705
打开会话,获取挑战值。使用callback异步回调。
5706

J
jidong 已提交
5707
**系统接口:** 此接口为系统接口。
5708 5709 5710 5711 5712 5713 5714

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

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

**参数:**

J
jidong 已提交
5715 5716 5717
| 参数名    | 类型                             | 必填 | 说明                                                            |
| -------- | -------------------------------- | ---- | -------------------------------------------------------------- |
| callback | AsyncCallback&lt;Uint8Array&gt;  | 是   | 回调函数。如果打开会话成功,err为null,data为挑战值;否则为错误对象。|
5718

J
jidong 已提交
5719 5720 5721 5722 5723 5724
**错误码:**

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

5725
**示例:**
5726
  ```js
5727
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5728
  let userIDM = new account_osAccount.UserIdentityManager();
5729
  try {
5730
    userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
5731 5732 5733 5734 5735 5736
        console.log('openSession error = ' + JSON.stringify(err));
        console.log('openSession challenge = ' + JSON.stringify(challenge));
    });
  } catch (e) {
    console.log('openSession exception = ' + JSON.stringify(e));
  }
5737 5738 5739 5740 5741 5742
  ```

### openSession<sup>8+</sup>

openSession(): Promise&lt;Uint8Array&gt;;

J
jidong 已提交
5743
打开会话,获取挑战值。使用Promise异步回调。
5744

J
jidong 已提交
5745
**系统接口:** 此接口为系统接口。
5746 5747 5748 5749 5750 5751 5752

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

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

**返回值:**

J
jidong 已提交
5753 5754 5755
| 类型                      | 说明                     |
| :------------------------ | ----------------------- |
| Promise&lt;Uint8Array&gt; | Promise对象,返回挑战值。 |
5756

J
jidong 已提交
5757 5758 5759 5760 5761 5762
**错误码:**

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

5763
**示例:**
5764
  ```js
5765
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5766
  let userIDM = new account_osAccount.UserIdentityManager();
5767
  try {
5768
    userIDM.openSession().then((challengechallenge: Uint8Array) => {
5769
        console.info('openSession challenge = ' + JSON.stringify(challenge));
5770
    }).catch((err: BusinessError) => {
5771 5772 5773 5774 5775
        console.info('openSession error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('openSession exception = ' + JSON.stringify(e));
  }
5776 5777 5778 5779 5780 5781
  ```

### addCredential<sup>8+</sup>

addCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

J
jidong 已提交
5782
添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息。
5783

J
jidong 已提交
5784
**系统接口:** 此接口为系统接口。
5785 5786 5787 5788 5789 5790 5791

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

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

**参数:**

J
jidong 已提交
5792
| 参数名           | 类型                                 | 必填 | 说明                        |
J
jidong 已提交
5793
| --------------- | ------------------------------------ | --- | ---------------------------- |
J
jidong 已提交
5794 5795
| credentialInfo  | [CredentialInfo](#credentialinfo8)   | 是  | 指示凭据信息。                |
| callback        | [IIdmCallback](#iidmcallback8)       | 是  | 回调对象,返回添加凭据的结果。  |
5796

J
jidong 已提交
5797 5798 5799 5800 5801 5802 5803 5804
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialInfo, i.e. authType or authSubType. |
| 12300101 | Token is invalid. |
| 12300106 | Unsupported authType. |
5805 5806 5807
| 12300109 | Operation is canceled. |
| 12300111 | Operation timeout. |
| 12300115 | The number of credentials reaches the upper limit. |
J
jidong 已提交
5808

5809
**示例:**
5810
  ```js
5811 5812 5813
  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 已提交
5814
  pinAuth.registerInputer({
5815
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
5816
      callback.onSetData(authSubType, password);
J
jidong 已提交
5817 5818
    }
  });
5819
  let credentialInfo: account_osAccount.CredentialInfo = {
J
jidong 已提交
5820 5821
    credType: account_osAccount.AuthType.PIN,
    credSubType: account_osAccount.AuthSubType.PIN_SIX,
C
cc_ggboy 已提交
5822
    token: new Uint8Array([]),
J
jidong 已提交
5823 5824
  };
  let userIDM = new account_osAccount.UserIdentityManager();
5825
  userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
5826
    try {
J
jidong 已提交
5827
    userIDM.addCredential(credentialInfo, {
5828
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
W
wangyihui 已提交
5829 5830
        console.log('addCredential result = ' + result);
        console.log('addCredential extraInfo = ' + extraInfo);
5831
      }
J
jidong 已提交
5832
    });
5833
    } catch (e) {
W
wangyihui 已提交
5834
      console.log('addCredential exception = ' + JSON.stringify(e));
5835
    }
J
jidong 已提交
5836
  });
5837 5838 5839 5840 5841 5842
  ```

### updateCredential<sup>8+</sup>

updateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

J
jidong 已提交
5843
更新凭据。使用callback异步回调。
5844

J
jidong 已提交
5845
**系统接口:** 此接口为系统接口。
5846 5847 5848 5849 5850 5851 5852

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

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

**参数:**

J
jidong 已提交
5853 5854 5855 5856
| 参数名           | 类型                                  | 必填 | 说明                     |
| --------------- | ------------------------------------- | --- | ------------------------- |
| credentialInfo  | [CredentialInfo](#credentialinfo8)    | 是  | 指示凭据信息。             |
| callback        | [IIdmCallback](#iidmcallback8)        | 是  | 回调对象,返回更新凭据的结果。 |
5857

J
jidong 已提交
5858 5859 5860 5861 5862 5863 5864
**错误码:**

| 错误码ID | 错误信息                     |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialInfo, i.e. authType or authSubType or token. |
| 12300101 | Token is invalid. |
5865
| 12300102 | Credential not enrolled.|
J
jidong 已提交
5866
| 12300106 | Unsupported authType. |
5867 5868
| 12300109 | Operation is canceled. |
| 12300111 | Operation timeout. |
J
jidong 已提交
5869

5870
**示例:**
5871
  ```js
5872
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
5873
  let userIDM = new account_osAccount.UserIdentityManager();
5874 5875 5876
  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 已提交
5877
  let credentialInfo: account_osAccount.CredentialInfo = {
J
jidong 已提交
5878 5879
    credType: account_osAccount.AuthType.PIN,
    credSubType: account_osAccount.AuthSubType.PIN_SIX,
C
cclicn 已提交
5880
    token: new Uint8Array([]),
J
jidong 已提交
5881 5882
  };
  pinAuth.registerInputer({
5883
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
5884
      callback.onSetData(authSubType, password);
J
jidong 已提交
5885 5886
    }
  });
5887
  userIDM.openSession((err: BusinessError, challenge: Uint8Array) => {
J
jidong 已提交
5888
    userAuth.auth(challenge, credentialInfo.credType, account_osAccount.AuthTrustLevel.ATL1, {
5889
      onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
J
jidong 已提交
5890 5891 5892
        if (result != account_osAccount.ResultCode.SUCCESS) {
          return;
        }
C
cclicn 已提交
5893 5894 5895
        if (extraInfo.token != null) {
          credentialInfo.token = extraInfo.token;
        }
5896 5897
        try {
          userIDM.updateCredential(credentialInfo, {
5898
            onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
5899 5900 5901 5902 5903 5904 5905
                console.log('updateCredential result = ' + result);
                console.log('updateCredential extraInfo = ' + extraInfo);
            }
          });
        } catch (e) {
          console.log('updateCredential exception = ' + JSON.stringify(e));
        }
5906
      }
J
jidong 已提交
5907 5908
    });
  });
5909 5910 5911 5912 5913 5914
  ```

### closeSession<sup>8+</sup>

closeSession(): void;

J
jidong 已提交
5915
关闭会话,结束IDM操作。
5916

J
jidong 已提交
5917
**系统接口:** 此接口为系统接口。
5918 5919 5920 5921 5922

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

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

5923
**示例:**
5924
  ```js
J
jidong 已提交
5925
  let userIDM = new account_osAccount.UserIdentityManager();
5926 5927 5928 5929 5930
  userIDM.closeSession();
  ```

### cancel<sup>8+</sup>

5931
cancel(challenge: Uint8Array): void;
5932 5933 5934

根据挑战值取消条目。

J
jidong 已提交
5935
**系统接口:** 此接口为系统接口。
5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946

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

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

**参数:**

| 参数名    | 类型        | 必填 | 说明   |
| -------- | ----------- | ---- | ----- |
| challenge | Uint8Array | 是   | 挑战值。 |

J
jidong 已提交
5947 5948 5949 5950 5951 5952
**错误码:**

| 错误码ID | 错误信息            |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid challenge. |
5953

5954
**示例:**
5955
  ```js
J
jidong 已提交
5956
  let userIDM = new account_osAccount.UserIdentityManager();
5957
  let challenge: Uint8Array = new Uint8Array([0]);
5958 5959 5960
  try {
    userIDM.cancel(challenge);
  } catch(err) {
C
chennian 已提交
5961
    console.log('cancel err:' + JSON.stringify(err));
5962
  }
5963 5964 5965 5966 5967 5968 5969 5970
  ```

### delUser<sup>8+</sup>

delUser(token: Uint8Array, callback: IIdmCallback): void;

删除具有身份验证令牌的用户,使用callback方式异步返回结果。

J
jidong 已提交
5971
**系统接口:** 此接口为系统接口。
5972 5973 5974 5975 5976 5977 5978

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

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

**参数:**

J
jidong 已提交
5979 5980 5981 5982
| 参数名    | 类型                           | 必填 | 说明                      |
| -------- | ------------------------------ | --- | ------------------------- |
| token    | Uint8Array                     | 是  | 身份验证令牌。             |
| callback | [IIdmCallback](#iidmcallback8) | 是  | 回调对象,返回删除用户的结果。|
5983

J
jidong 已提交
5984 5985 5986 5987 5988 5989 5990
**错误码:**

| 错误码ID | 错误信息        |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300101 | Token is invalid. |

5991
**示例:**
5992
  ```js
J
jidong 已提交
5993
  let userIDM = new account_osAccount.UserIdentityManager();
5994
  let token: Uint8Array = new Uint8Array([0]);
5995 5996
  try {
    userIDM.delUser(token, {
5997
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
5998 5999 6000 6001 6002 6003 6004
        console.log('delUser result = ' + result);
        console.log('delUser extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('delUser exception = ' + JSON.stringify(e));
  }
6005 6006 6007 6008 6009 6010
  ```

### delCred<sup>8+</sup>

delCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void;

J
jidong 已提交
6011
删除用户凭据信息。
6012

J
jidong 已提交
6013
**系统接口:** 此接口为系统接口。
6014 6015 6016 6017 6018 6019 6020 6021

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

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

**参数:**

| 参数名           | 类型                                            | 必填 | 说明                      |
J
jidong 已提交
6022 6023 6024 6025
| --------------- | ----------------------------------- | --- | ---------------------------|
| credentialId    | Uint8Array                          | 是  | 凭证索引。                  |
| token           | Uint8Array                          | 是  | 身份验证令牌。               |
| callback        | [IIdmCallback](#iidmcallback8)      | 是  | 回调对象,返回删除凭据的结果。 |
6026

J
jidong 已提交
6027 6028 6029 6030 6031 6032 6033
**错误码:**

| 错误码ID | 错误信息             |
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid credentialId. |
| 12300101 | Token is invalid. |
6034
| 12300102 | Credential not enrolled. |
J
jidong 已提交
6035

6036
**示例:**
6037
  ```js
J
jidong 已提交
6038
  let userIDM = new account_osAccount.UserIdentityManager();
6039 6040
  let credentialId: Uint8Array = new Uint8Array([0]);
  let token: Uint8Array = new Uint8Array([0]);
6041 6042
  try {
    userIDM.delCred(credentialId, token, {
6043
      onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
6044 6045 6046 6047 6048 6049 6050
          console.log('delCred result = ' + result);
          console.log('delCred extraInfo = ' + JSON.stringify(extraInfo));
      }
    });
  } catch (e) {
    console.log('delCred exception = ' + JSON.stringify(e));
  }
6051 6052 6053 6054
  ```

### getAuthInfo<sup>8+</sup>

6055
getAuthInfo(callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;
6056

J
jidong 已提交
6057
获取认证信息。使用callback异步回调。
6058

J
jidong 已提交
6059
**系统接口:** 此接口为系统接口。
6060 6061 6062

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

6063
**需要权限:** ohos.permission.USE_USER_IDM
6064 6065 6066

**参数:**

J
jidong 已提交
6067 6068
| 参数名    | 类型                                                                     | 必填 | 说明                                                 |
| -------- | ------------------------------------------------------------------------ | ---- | --------------------------------------------- |
J
jidong 已提交
6069
| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数。如果成功,err为null,data为当前用户的所有已注册凭据信息;否则为错误对象。|
6070

J
jidong 已提交
6071 6072 6073 6074 6075
**错误码:**

| 错误码ID | 错误信息               |
| -------- | --------------------- |
| 12300001 | System service exception. |
6076
| 12300102 | Credential not enrolled. |
6077

6078
**示例:**
6079
  ```js
6080
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6081
  let userIDM = new account_osAccount.UserIdentityManager();
6082
  try {
6083
    userIDM.getAuthInfo((err: BusinessError, result: account_osAccount.EnrolledCredInfo[]) => {
6084 6085 6086 6087 6088 6089
      console.log('getAuthInfo err = ' + JSON.stringify(err));
      console.log('getAuthInfo result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6090 6091 6092 6093 6094 6095
  ```

### getAuthInfo<sup>8+</sup>

getAuthInfo(authType: AuthType, callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;

J
jidong 已提交
6096
获取指定类型的认证信息。使用callback异步回调。
6097

J
jidong 已提交
6098
**系统接口:** 此接口为系统接口。
6099 6100 6101

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

6102
**需要权限:** ohos.permission.USE_USER_IDM
6103 6104 6105 6106 6107 6108

**参数:**

| 参数名    | 类型                                               | 必填 | 说明                                                |
| -------- | -------------------------------------------------- | ---- | -------------------------------------------------- |
| authType | [AuthType](#authtype8) | 是   | 认证类型。                                          |
J
jidong 已提交
6109 6110 6111 6112 6113
| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数,如果获取成功,err为null,data为当前用户指定类型的所有已注册凭据信息;否则为错误对象。 |

**错误码:**

| 错误码ID | 错误信息               |
J
jidong 已提交
6114 6115 6116
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType. |
6117
| 12300102 | Credential not enrolled. |
6118

6119
**示例:**
6120
  ```js
6121
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6122
  let userIDM = new account_osAccount.UserIdentityManager();
6123
  try {
6124 6125
    userIDM.getAuthInfo(account_osAccount.AuthType.PIN,
      (err: BusinessError, result: account_osAccount.EnrolledCredInfo[]) => {
6126 6127 6128 6129 6130 6131
      console.log('getAuthInfo err = ' + JSON.stringify(err));
      console.log('getAuthInfo result = ' + JSON.stringify(result));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6132 6133 6134 6135 6136 6137
  ```

### getAuthInfo<sup>8+</sup>

getAuthInfo(authType?: AuthType): Promise&lt;Array&lt;EnrolledCredInfo&gt;&gt;;

J
jidong 已提交
6138
获取认证信息。使用Promise异步回调。
6139

J
jidong 已提交
6140
**系统接口:** 此接口为系统接口。
6141 6142 6143

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

6144
**需要权限:** ohos.permission.USE_USER_IDM
6145 6146 6147 6148 6149

**参数:**

| 参数名    | 类型                                | 必填 | 说明      |
| -------- | ----------------------------------- | ---- | -------- |
6150
| authType | [AuthType](#authtype8)              | 否   | 认证类型,默认为空,表示查询所有认证类型的信息。|
6151 6152 6153

**返回值:**

J
jidong 已提交
6154
| 类型                                         | 说明                                                                     |
J
jidong 已提交
6155
| :------------------------------------------- | :----------------------------------------------------------------------- |
J
jidong 已提交
6156 6157 6158 6159 6160
| Promise&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | Promise对象,返回当前用户指定类型的所有已注册凭据信息。|

**错误码:**

| 错误码ID | 错误信息               |
J
jidong 已提交
6161 6162 6163
| -------- | ------------------- |
| 12300001 | System service exception. |
| 12300002 | Invalid authType. |
6164
| 12300102 | Credential not enrolled. |
6165

6166
**示例:**
6167
  ```js
6168
  import { BusinessError } from '@ohos.base';
J
jidong 已提交
6169
  let userIDM = new account_osAccount.UserIdentityManager();
6170
  try {
6171
    userIDM.getAuthInfo(account_osAccount.AuthType.PIN).then((result: account_osAccount.EnrolledCredInfo[]) => {
6172
      console.log('getAuthInfo result = ' + JSON.stringify(result))
6173
    }).catch((err: BusinessError) => {
6174 6175 6176 6177 6178
      console.log('getAuthInfo error = ' + JSON.stringify(err));
    });
  } catch (e) {
    console.log('getAuthInfo exception = ' + JSON.stringify(e));
  }
6179 6180 6181 6182 6183 6184
  ```

## IInputData<sup>8+</sup>

密码数据回调。

J
jidong 已提交
6185
**系统接口:** 此接口为系统接口。
6186

6187 6188
### onSetData<sup>8+</sup>

W
wangyihui 已提交
6189
onSetData: (authSubType: AuthSubType, data: Uint8Array) => void;
6190

J
jidong 已提交
6191
**系统接口:** 此接口为系统接口。
6192

6193 6194 6195 6196 6197 6198 6199 6200
通知设置数据。

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

**参数:**

| 参数名      | 类型                                     | 必填 | 说明                                            |
| ---------- | ---------------------------------------- | ---- | ----------------------------------------------- |
W
wangyihui 已提交
6201
| authSubType | [AuthSubType](#authsubtype8)             | 是   | 用于认证的凭据子类型。                            |
6202 6203
| data       | Uint8Array                               | 是   | 要设置的数据是凭据,用来在认证、添加、修改凭据操作。 |

C
chennian 已提交
6204 6205 6206 6207 6208 6209
**错误码:**

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

6210
**示例:**
6211
  ```js
6212 6213
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]);
C
cclicn 已提交
6214
  let inputer: account_osAccount.IInputer = {
6215
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
6216 6217
        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
          callback.onSetData(authSubType, passwordNumber);
J
jidong 已提交
6218
        } else {
W
wangyihui 已提交
6219
          callback.onSetData(authSubType, password);
J
jidong 已提交
6220 6221 6222
        }
    }
  };
6223 6224 6225 6226
  ```

## IInputer<sup>8+</sup>

W
wangyihui 已提交
6227
凭据输入器回调。
6228

J
jidong 已提交
6229
**系统接口:** 此接口为系统接口。
6230

6231 6232
### onGetData<sup>8+</sup>

W
wangyihui 已提交
6233
onGetData: (authSubType: AuthSubType, callback: IInputData) => void;
6234 6235 6236

通知获取数据。

J
jidong 已提交
6237
**系统接口:** 此接口为系统接口。
6238

6239 6240 6241 6242 6243 6244
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名      | 类型                                    | 必填 | 说明             |
| ---------- | --------------------------------------- | ---- | --------------- |
6245
| callback   | [IInputData](#iinputdata8)  | 是   | 指示密码数据回调。|
6246

6247
**示例:**
6248
  ```js
6249 6250
  let password: Uint8Array = new Uint8Array([0, 0, 0, 0, 0, 0]);
  let passwordNumber: Uint8Array = new Uint8Array([1, 2, 3, 4]);
C
cclicn 已提交
6251
  let inputer: account_osAccount.IInputer = {
6252
    onGetData: (authSubType: account_osAccount.AuthSubType, callback: account_osAccount.IInputData) => {
W
wangyihui 已提交
6253 6254
        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
          callback.onSetData(authSubType, passwordNumber);
J
jidong 已提交
6255
        } else {
W
wangyihui 已提交
6256
          callback.onSetData(authSubType, password);
J
jidong 已提交
6257 6258 6259
        }
    }
  };
6260
  let pinAuth: account_osAccount.PINAuth = new account_osAccount.PINAuth();
J
jidong 已提交
6261
  let result = pinAuth.registerInputer(inputer);
F
fanchenxuan 已提交
6262
  console.log('registerInputer result: ' + result);
6263 6264 6265 6266
  ```

## IUserAuthCallback<sup>8+</sup>

J
jidong 已提交
6267
表示用户认证回调类。
6268

J
jidong 已提交
6269
**系统接口:** 此接口为系统接口。
6270

6271 6272 6273 6274
### onResult<sup>8+</sup>

onResult: (result: number, extraInfo: AuthResult) => void;

J
jidong 已提交
6275
身份认证结果回调函数,返回结果码和认证结果信息。
6276

J
jidong 已提交
6277
**系统接口:** 此接口为系统接口。
6278

6279 6280 6281 6282 6283 6284 6285
**系统能力:** SystemCapability.Account.OsAccount

**参数:**

| 参数名     | 类型                                    | 必填 | 说明                 |
| --------- | --------------------------------------- | ---- | ------------------- |
| result    | number                                   | 是   | 表示身份认证结果代码。|
6286
| extraInfo | [AuthResult](#authresult8)  | 是   | 表示不同情况下的具体信息,如果认证通过,则在extrainfo中返回认证令牌,如果身份验证失败,则在extrainfo中返回剩余的身份验证时间,如果身份验证执行器被锁定,冻结时间将在extrainfo中返回。|
6287

6288
**示例:**
6289
  ```js
C
cclicn 已提交
6290 6291
  let authCallback: account_osAccount.IUserAuthCallback = {
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
6292 6293
      console.log('auth result = ' + result);
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6294 6295
    }
  };
6296 6297 6298 6299 6300 6301
  ```

### onAcquireInfo?<sup>8+</sup>

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

J
jidong 已提交
6302
身份认证信息获取回调函数。
6303

J
jidong 已提交
6304
**系统接口:** 此接口为系统接口。
6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315

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

**参数:**

| 参数名    | 类型     | 必填 | 说明                           |
| --------- | ------- | ---- | ----------------------------- |
| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
| extraInfo | any     | 是   | 保留参数。                     |

6316
**示例:**
6317
  ```js
C
cclicn 已提交
6318 6319
  let authCallback: account_osAccount.IUserAuthCallback = {
    onResult: (result: number, extraInfo: account_osAccount.AuthResult) => {
F
fanchenxuan 已提交
6320 6321
      console.log('auth result = ' + result)
      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6322
    },
6323
    onAcquireInfo: (module: number, acquire: number, extraInfo: account_osAccount.RequestResult) => {
F
fanchenxuan 已提交
6324 6325
      console.log('auth module = ' + module);
      console.log('auth acquire = ' + acquire);
J
jidong 已提交
6326 6327 6328
      console.info('auth extraInfo = ' + JSON.stringify(extraInfo));
    }
  };
6329 6330 6331 6332
  ```

## IIdmCallback<sup>8+</sup>

J
jidong 已提交
6333
表示身份管理回调类。
6334

J
jidong 已提交
6335
**系统接口:** 此接口为系统接口。
6336

6337 6338
### onResult<sup>8+</sup>

6339
onResult: (result: number, extraInfo: RequestResult) => void;
6340

J
jidong 已提交
6341
身份管理操作结果回调函数,返回结果码和请求结果信息。
6342

J
jidong 已提交
6343
**系统接口:** 此接口为系统接口。
6344 6345 6346 6347 6348 6349 6350 6351

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

**参数:**

| 参数名     | 类型                                    | 必填 | 说明                     |
| --------- | --------------------------------------- | ---- | ----------------------- |
| result    | number                                  | 是   | 表示身份认证结果代码。    |
6352
| extraInfo | [RequestResult](#requestresult8)  | 是   | 针对不同情况传递具体信息。|
6353

6354
**示例:**
6355
  ```js
C
cclicn 已提交
6356
  let idmCallback: account_osAccount.IIdmCallback = {
6357
    onResult: (result: number, extraInfo: account_osAccount.RequestResult) => {
F
fanchenxuan 已提交
6358
      console.log('callback result = ' + result)
J
jidong 已提交
6359 6360 6361
      console.info('callback extraInfo = ' + JSON.stringify(extraInfo));
    }
  };
6362 6363 6364 6365 6366 6367
  ```

### onAcquireInfo?<sup>8+</sup>

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

J
jidong 已提交
6368
身份管理信息获取回调函数。
6369

J
jidong 已提交
6370
**系统接口:** 此接口为系统接口。
6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381

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

**参数:**

| 参数名    | 类型     | 必填 | 说明                           |
| --------- | ------- | ---- | ----------------------------- |
| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
| extraInfo | any     | 是   | 保留参数。                     |

6382
**示例:**
6383
  ```js
C
cclicn 已提交
6384
  let idmCallback: account_osAccount.IIdmCallback = {
6385
    onResult: (result: number, extraInfo: Object) => {
F
fanchenxuan 已提交
6386 6387
      console.log('callback result = ' + result)
      console.log('callback onResult = ' + JSON.stringify(extraInfo));
J
jidong 已提交
6388
    },
6389
    onAcquireInfo: (module: number, acquire: number, extraInfo: Object) => {
F
fanchenxuan 已提交
6390 6391
      console.log('callback module = ' + module);
      console.log('callback acquire = ' + acquire);
J
jidong 已提交
6392 6393 6394
      console.log('callback onacquireinfo = ' + JSON.stringify(extraInfo));
    }
  };
6395 6396 6397 6398 6399 6400
  ```

## GetPropertyRequest<sup>8+</sup>

提供获取属性请求的信息。

J
jidong 已提交
6401
**系统接口:** 此接口为系统接口。
6402

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

6405
| 名称    | 类型                                                          | 必填   | 说明                   |
6406
| -------- | ------------------------------------------------------------- | ----- | ----------------------- |
6407 6408
| authType | [AuthType](#authtype8)                            | 是    | 身份验证凭据类型。        |
| keys     | Array&lt;[GetPropertyType](#getpropertytype8)&gt; | 是    | 指示要获取的属性类型数组。 |
6409 6410 6411 6412 6413

## SetPropertyRequest<sup>8+</sup>

提供设置属性请求的信息。

J
jidong 已提交
6414
**系统接口:** 此接口为系统接口。
6415

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

6418
| 名称    | 类型                                             | 必填   | 说明                 |
6419
| -------- | ------------------------------------------------ | ----- | -------------------- |
6420 6421
| authType | [AuthType](#authtype8)               | 是    | 身份验证凭据类型。     |
| key     | [SetPropertyType](#setpropertytype8) | 是    | 指示要设置的属性类型。 |
6422 6423 6424 6425 6426 6427
| setInfo  | Uint8Array                                       | 是    | 指示要设置的信息。     |

## ExecutorProperty<sup>8+</sup>

提供执行器的属性。

J
jidong 已提交
6428
**系统接口:** 此接口为系统接口。
6429

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

6432 6433 6434 6435 6436 6437 6438 6439
| 名称         | 类型                         |  可读 | 可写 | 说明              |
| ------------ | ---------------------------- | ----- | -----|----------------- |
| result       | number                       | 是    | 是   | 指示结果。         |
| authSubType  | [AuthSubType](#authsubtype8) | 是    | 是   | 指示认证凭据子类型。|
| remainTimes  | number                       | 是    | 是   | 指示剩余次数。     |
| freezingTime | number                       | 是    | 是   | 指示冻结时间。     |
| enrollmentProgress<sup>10+</sup> | string   | 是    | 是   | 指示录入进度,默认为空。 |
| sensorInfo<sup>10+</sup> | string           | 是    | 是   | 指示传感器信息,默认为空。 |
6440 6441 6442

## AuthResult<sup>8+</sup>

J
jidong 已提交
6443
表示认证结果的信息。
6444

J
jidong 已提交
6445
**系统接口:** 此接口为系统接口。
6446

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

6449
| 名称        | 类型        | 必填   | 说明              |
6450
| ------------ | ----------- | ----- | ----------------- |
6451 6452 6453
| token        | Uint8Array  | 否    | 指示认证令牌,默认为空。      |
| remainTimes  | number      | 否    | 指示剩余次数,默认为空。      |
| freezingTime | number      | 否    | 指示冻结时间,默认为空。      |
6454 6455 6456

## CredentialInfo<sup>8+</sup>

J
jidong 已提交
6457
表示凭证信息。
6458

J
jidong 已提交
6459
**系统接口:** 此接口为系统接口。
6460

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

6463
| 名称        | 类型                                     | 必填   | 说明              |
6464
| ------------ | ---------------------------------------- | ----- | ----------------- |
6465 6466
| credType     | [AuthType](#authtype8)       | 是    | 指示凭据类型。     |
| credSubType  | [AuthSubType](#authsubtype8) | 是    | 指示凭据子类型。   |
J
jidong 已提交
6467
| token        | Uint8Array                           | 是    | 指示认证令牌。     |
6468 6469 6470

## RequestResult<sup>8+</sup>

J
jidong 已提交
6471
表示请求结果的信息。
6472

J
jidong 已提交
6473
**系统接口:** 此接口为系统接口。
6474

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

6477
| 名称        | 类型        | 必填   | 说明              |
6478
| ------------ | ----------- | ----- | ----------------- |
6479
| credentialId | Uint8Array  | 否    | 指示凭据索引,默认为空。      |
6480 6481 6482

## EnrolledCredInfo<sup>8+</sup>

J
jidong 已提交
6483
表示已注册凭据的信息。
6484

J
jidong 已提交
6485
**系统接口:** 此接口为系统接口。
6486

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

6489
| 名称        | 类型                                     | 必填   | 说明              |
6490 6491
| ------------ | ---------------------------------------- | ----- | ------------------- |
| credentialId | Uint8Array                               | 是    | 指示凭据索引。       |
6492 6493
| authType     | [AuthType](#authtype8)       | 是    | 指示认证凭据类型。   |
| authSubType  | [AuthSubType](#authsubtype8) | 是    | 指示认证凭据子类型。 |
6494 6495 6496 6497
| templateId   | Uint8Array                               | 是    | 指示凭据模板ID。     |

## GetPropertyType<sup>8+</sup>

J
jidong 已提交
6498
表示要获取的属性类型的枚举。
6499

J
jidong 已提交
6500
**系统接口:** 此接口为系统接口。
6501

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

6504
| 名称           | 值 | 说明      |
6505 6506 6507 6508
| ------------- | ------ | --------- |
| AUTH_SUB_TYPE | 1      | 认证子类型。 |
| REMAIN_TIMES  | 2      | 剩余时间。   |
| FREEZING_TIME | 3      | 冻结时间。   |
6509 6510
| ENROLLMENT_PROGRESS<sup>10+</sup> | 4      | 录入进度。   |
| SENSOR_INFO<sup>10+</sup> | 5      | 传感器信息。   |
6511 6512 6513

## SetPropertyType<sup>8+</sup>

J
jidong 已提交
6514
表示要设置的属性类型的枚举。
6515

J
jidong 已提交
6516
**系统接口:** 此接口为系统接口。
6517

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

6520
| 名称           | 值 | 说明        |
6521 6522 6523 6524 6525
| -------------- | ----- | ----------- |
| INIT_ALGORITHM | 1     | 初始化算法。 |

## AuthType<sup>8+</sup>

J
jidong 已提交
6526
表示身份验证的凭据类型的枚举。
6527

J
jidong 已提交
6528
**系统接口:** 此接口为系统接口。
6529

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

6532
| 名称  | 值 | 说明             |
6533
| ----- | ----- | ---------------- |
W
wangyihui 已提交
6534 6535 6536
| PIN   | 1     | 表示PIN认证类型。 |
| FACE  | 2     | 表示脸部认证类型。|
| FINGERPRINT<sup>10+</sup>   | 4     | 表示指纹认证类型。 |
Z
zhouyan 已提交
6537
| DOMAIN<sup>9+</sup>  | 1024     | 表示域认证类型。|
6538 6539 6540

## AuthSubType<sup>8+</sup>

J
jidong 已提交
6541
表示用于认证的凭据子类型的枚举。
6542

J
jidong 已提交
6543
**系统接口:** 此接口为系统接口。
6544

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

6547
| 名称       | 值 | 说明               |
6548 6549 6550 6551
| ---------- | ----- | ------------------ |
| PIN_SIX    | 10000 | 表示6位凭证。       |
| PIN_NUMBER | 10001 | 表示自定义数字凭证。 |
| PIN_MIXED  | 10002 | 表示自定义混合凭据。 |
W
wangyihui 已提交
6552 6553
| FACE_2D    | 20000 | 表示2D 人脸凭证。   |
| FACE_3D    | 20001 | 表示3D 人脸凭证。   |
6554 6555 6556
| FINGERPRINT_CAPACITIVE<sup>10+</sup>    | 30000 | 表示电容式指纹。   |
| FINGERPRINT_OPTICAL<sup>10+</sup>    | 30001 | 表示光学指纹。   |
| FINGERPRINT_ULTRASONIC<sup>10+</sup>    | 30002 | 表示超声波指纹。   |
Z
zhouyan 已提交
6557
| DOMAIN_MIXED<sup>9+</sup>    | 10240001 | 表示域认证混合凭证。   |
6558 6559 6560

## AuthTrustLevel<sup>8+</sup>

J
jidong 已提交
6561
表示认证结果的受信任级别的枚举。
6562

J
jidong 已提交
6563
**系统接口:** 此接口为系统接口。
6564

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

6567
| 名称  | 值 | 说明        |
6568 6569 6570 6571 6572 6573 6574 6575
| ---- | ------ | ----------- |
| ATL1 | 10000  | 信任级别 1。 |
| ATL2 | 20000  | 信任级别 2。 |
| ATL3 | 30000  | 信任级别 3。 |
| ATL4 | 40000  | 信任级别 4。 |

## Module<sup>8+</sup>

J
jidong 已提交
6576
表示获取信息的模块的枚举。
6577

J
jidong 已提交
6578
**系统接口:** 此接口为系统接口。
6579

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

6582
| 名称       | 值 | 说明                     |
6583 6584 6585 6586 6587
| --------- | ------ | ------------------------ |
| FACE_AUTH | 1      | 表示从人脸认证获取的信息。 |

## ResultCode<sup>8+</sup>

J
jidong 已提交
6588
表示身份验证结果码。
6589

J
jidong 已提交
6590
**系统接口:** 此接口为系统接口。
6591

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

6594
| 名称                    | 值 | 说明                                     |
6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609
| ----------------------- | ----- | ---------------------------------------- |
| 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 已提交
6610
表示人脸验证过程中提示的枚举。
6611

J
jidong 已提交
6612
**系统接口:** 此接口为系统接口。
6613

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

6616
| 名称                          | 值 | 说明                                     |
6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629
| ----------------------------- | ----- | ---------------------------------------- |
| 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 已提交
6630
## FingerprintTips<sup>8+</sup>
6631

J
jidong 已提交
6632
表示指纹身份验证过程中提示的枚举。
6633

J
jidong 已提交
6634
**系统接口:** 此接口为系统接口。
6635

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

6638
| 名称                          | 值 | 说明                                            |
6639
| ----------------------------- | ----- | ----------------------------------------------- |
6640
| FINGERPRINT_TIP_GOOD          | 0     | 表示采集的图像良好。                              |
6641 6642
| FINGERPRINT_TIP_IMAGER_DIRTY  | 1     | 表示由于传感器上可疑或检测到污垢,指纹图像噪声过大。 |
| FINGERPRINT_TIP_INSUFFICIENT  | 2     | 表示由于检测到的情况,指纹图像噪声太大,无法处理。   |
6643
| FINGERPRINT_TIP_PARTIAL       | 3     | 表示仅检测到部分指纹图像。                         |
6644 6645
| FINGERPRINT_TIP_TOO_FAST      | 4     | 表示指纹图像由于快速运动而不完整。                  |
| FINGERPRINT_TIP_TOO_SLOW      | 5     | 表示由于缺少运动,指纹图像无法读取。                |
C
cclicn 已提交
6646 6647
| FINGERPRINT_TIP_FINGER_DOWN<sup>10+</sup>   | 6     | 表示手指落下。                  |
| FINGERPRINT_TIP_FINGER_UP<sup>10+</sup>     | 7     | 表示手指抬起。                |
6648

Z
zhangalong 已提交
6649
## OsAccountInfo
Z
zengyawen 已提交
6650

J
jidong 已提交
6651
表示系统帐号信息。
Z
zengyawen 已提交
6652 6653 6654

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

6655
| 名称                         | 类型                                                         | 必填 | 说明                              |
Z
zengyawen 已提交
6656 6657 6658
| ------------------------------ | ------------------------------------------------------------ | ---- | --------------------------------- |
| localId                        | number                                                       | 是   | 系统帐号ID。                      |
| localName                      | string                                                       | 是   | 系统帐号名称。                    |
6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669
| 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 已提交
6670 6671

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

J
jidong 已提交
6673
表示域帐号信息。
Z
zengyawen 已提交
6674 6675 6676

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

6677
| 名称      | 类型   | 必填 | 说明       |
Z
zengyawen 已提交
6678 6679 6680
| ----------- | ------ | ---- | ---------- |
| domain      | string | 是   | 域名。     |
| accountName | string | 是   | 域帐号名。 |
6681
| accountId<sup>10+</sup> | string | 否   | 域帐号标识。<br>**系统接口:** 此接口为系统接口,默认为空。 |
Z
zhangalong 已提交
6682 6683 6684

## 系统帐号约束列表

Z
zengyawen 已提交
6685 6686
| 约束                                  | 说明                           |
| ------------------------------------- | ------------------------------ |
Z
zengyawen 已提交
6687 6688
| constraint.wifi                       | 禁止使用Wi-Fi                  |
| constraint.wifi.set                   | 禁止配置Wi-Fi                  |
Z
zengyawen 已提交
6689 6690 6691 6692 6693 6694
| constraint.locale.set                 | 禁止配置设备语言               |
| constraint.app.accounts               | 禁止添加和删除应用帐号         |
| constraint.apps.install               | 禁止安装应用                   |
| constraint.apps.uninstall             | 禁止卸载应用                   |
| constraint.location.shared            | 禁止打开位置共享               |
| constraint.unknown.sources.install    | 禁止安装未知来源的应用         |
Z
zhangalong 已提交
6695
| constraint.global.unknown.app.install | 禁止所有用户安装未知来源的应用 |
Z
zengyawen 已提交
6696 6697
| constraint.bluetooth.set              | 禁止配置蓝牙                   |
| constraint.bluetooth | 禁止使用蓝牙 |
Z
zhangalong 已提交
6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716
| 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 已提交
6717 6718
| constraint.microphone.unmute | 禁止取消麦克风静音 |
| constraint.volume.adjust | 禁止调整音量 |
Z
zhangalong 已提交
6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735
| 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 已提交
6736
| constraint.device.unmute | 禁止取消设备静音 |
Z
zhangalong 已提交
6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748
| 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 | 禁止打印 |
6749 6750 6751 6752
| constraint.private.dns.set | 禁止配置专用DNS |

## ConstraintSourceTypeInfo<sup>9+</sup>

J
jidong 已提交
6753
表示约束来源类型信息。
6754

J
jidong 已提交
6755
**系统接口:** 此接口为系统接口。
J
jidong 已提交
6756

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

6759
| 名称      | 类型   | 必填 | 说明       |
6760 6761 6762 6763 6764 6765
| ----------- | ------ | ---- | ---------- |
| localId      | number | 是   | 系统帐号ID     |
| type | [ConstraintSourceType](#constraintsourcetype) | 是   | 约束来源类型 |

## ConstraintSourceType<sup>9+</sup>

J
jidong 已提交
6766
表示约束来源类型的枚举。
6767

J
jidong 已提交
6768
**系统接口:** 此接口为系统接口。
J
jidong 已提交
6769

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

6772
| 名称   | 值 | 说明         |
6773 6774 6775 6776
| ------ | ------ | ------------ |
| CONSTRAINT_NOT_EXIST  | 0      | 约束不存在 |
| CONSTRAINT_TYPE_BASE | 1      | 约束源自系统设置   |
| CONSTRAINT_TYPE_DEVICE_OWNER  | 2   | 约束源自设备所有者设置   |
J
jidong 已提交
6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790
| CONSTRAINT_TYPE_PROFILE_OWNER  | 3  | 约束源自资料所有者设置   |

## AuthStatusInfo<sup>10+</sup>

表示认证状态信息。

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| remainTimes  | number | 是   | 剩余次数   |
| freezingTime | number | 是   | 冻结时间 |
J
jidong 已提交
6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805

## GetDomainAccessTokenOptions<sup>10+</sup>

表示获取域访问令牌的选项。

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| domainAccountInfo  | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号的信息   |
| domainAccountToken | Uint8Array | 是   | 域帐号的令牌 |
| businessParams | { [key: string]: object } | 是   | 业务参数,由业务方根据请求协议自定义 |
| callerUid | number | 是   | 调用方唯一标识符 |
6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830

## GetDomainAccountInfoOptions<sup>10+</sup>

表示查询域帐号信息的选项。

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| accountName | string | 是   | 域帐号名。 |
| domain      | string | 否   | 域名。     |

## GetDomainAccountInfoPluginOptions<sup>10+</sup>

表示插件查询域帐号信息的选项。GetDomainAccountInfoPluginOptions类继承[GetDomainAccountInfoOptions](#getdomainaccountinfooptions10)

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

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

| 名称      | 类型   | 必填 | 说明       |
| ----------- | ------ | ---- | ---------- |
| callerUid | number | 是   | 调用方唯一标识符 |