• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.account.osAccount (系统帐号管理)
2
3本模块提供管理系统帐号的基础能力,包括系统帐号的添加、删除、查询、设置、订阅、启动等功能。
4
5> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
7
8
9## 导入模块
10
11```js
12import account_osAccount from '@ohos.account.osAccount';
13```
14
15## account_osAccount.getAccountManager
16
17getAccountManager(): AccountManager
18
19获取系统帐号管理对象。
20
21**系统能力:** SystemCapability.Account.OsAccount
22
23**返回值:**
24
25| 类型                              | 说明              |
26| --------------------------------- | ---------------- |
27| [AccountManager](#accountmanager) | 系统帐号管理对象。 |
28
29**示例:**
30  ```js
31  let accountManager = account_osAccount.getAccountManager();
32  ```
33
34## OsAccountType
35
36表示系统帐号类型的枚举。
37
38**系统能力:** SystemCapability.Account.OsAccount39
40| 名称   | 值 | 说明         |
41| ------ | ------ | ----------- |
42| ADMIN  | 0      | 管理员帐号。 |
43| NORMAL | 1      | 普通帐号。   |
44| GUEST  | 2      | 访客帐号。   |
45
46## AccountManager
47
48系统帐号管理类。
49
50### activateOsAccount
51
52activateOsAccount(localId: number, callback: AsyncCallback<void>): void
53
54激活指定系统帐号。使用callback异步回调。
55
56**系统接口:** 此接口为系统接口。
57
58**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
59
60**系统能力:** SystemCapability.Account.OsAccount
61
62**参数:**
63
64| 参数名   | 类型                       | 必填 | 说明                                                |
65| -------- | ------------------------- | ---- | -------------------------------------------------- |
66| localId  | number                    | 是   | 系统帐号ID。                  |
67| callback | AsyncCallback<void> | 是   | 回调函数。当帐号激活成功时,err为null,否则为错误对象。 |
68
69**错误码:**
70
71| 错误码ID | 错误信息             |
72| -------- | ------------------- |
73| 12300001 | System service exception. |
74| 12300002 | Invalid localId.    |
75| 12300003 | Account not found. |
76| 12300008 | Restricted Account. |
77| 12300009 | Account has been activated. |
78
79**示例:** 激活ID为100的系统帐号
80  ```js
81  let accountManager = account_osAccount.getAccountManager();
82  let localId = 100;
83  try {
84    accountManager.activateOsAccount(localId, (err)=>{
85      if (err) {
86        console.log("activateOsAccount failed, error:" + JSON.stringify(err));
87      } else {
88        console.log("activateOsAccount successfully");
89      }
90    });
91  } catch (err) {
92    console.log("activateOsAccount exception:" + JSON.stringify(err));
93  }
94  ```
95
96### activateOsAccount
97
98activateOsAccount(localId: number): Promise<void>
99
100激活指定系统帐号。使用Promise异步回调。
101
102**系统接口:** 此接口为系统接口。
103
104**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
105
106**系统能力:** SystemCapability.Account.OsAccount
107
108**参数:**
109
110| 参数名  | 类型   | 必填 | 说明                 |
111| ------- | ------ | ---- | -------------------- |
112| localId | number | 是   | 系统帐号ID。 |
113
114**返回值:**
115
116| 类型                | 说明                                  |
117| ------------------- | ------------------------------------ |
118| Promise<void> | Promise对象,无返回结果的Promise对象。 |
119
120**错误码:**
121
122| 错误码ID | 错误信息             |
123| -------- | ------------------- |
124| 12300001 | System service exception. |
125| 12300002 | Invalid localId.    |
126| 12300003 | Account not found. |
127| 12300008 | Restricted Account. |
128| 12300009 | Account has been activated. |
129
130**示例:** 激活ID为100的系统帐号
131  ```js
132  let accountManager = account_osAccount.getAccountManager();
133  let localId = 100;
134  try {
135    accountManager.activateOsAccount(localId).then(() => {
136      console.log('activateOsAccount successfully');
137    }).catch((err) => {
138      console.log('activateOsAccount failed, err:' + JSON.stringify(err));
139    });
140  } catch (e) {
141    console.log('activateOsAccount exception:' + JSON.stringify(e));
142  }
143  ```
144
145### checkMultiOsAccountEnabled<sup>9+</sup>
146
147checkMultiOsAccountEnabled(callback: AsyncCallback&lt;boolean&gt;): void
148
149判断是否支持多系统帐号。使用callback异步回调。
150
151**系统能力:** SystemCapability.Account.OsAccount
152
153**参数:**
154
155| 参数名   | 类型                         | 必填 | 说明                                                     |
156| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
157| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示支持多系统帐号;返回false表示不支持。 |
158
159**错误码:**
160
161| 错误码ID | 错误信息             |
162| -------- | ------------------- |
163| 12300001 | System service exception. |
164
165**示例:**
166
167  ```js
168  let accountManager = account_osAccount.getAccountManager();
169  try {
170    accountManager.checkMultiOsAccountEnabled((err, isEnabled) => {
171      if (err) {
172        console.log("checkMultiOsAccountEnabled failed, error: " + JSON.stringify(err));
173      } else {
174      console.log("checkMultiOsAccountEnabled successfully, isEnabled: " + isEnabled);
175      }
176    });
177  } catch (err) {
178    console.log("checkMultiOsAccountEnabled exception: " + JSON.stringify(err));
179  }
180  ```
181
182### checkMultiOsAccountEnabled<sup>9+</sup>
183
184checkMultiOsAccountEnabled(): Promise&lt;boolean&gt;
185
186判断是否支持多系统帐号。使用Promise异步回调。
187
188**系统能力:** SystemCapability.Account.OsAccount
189
190**返回值:**
191
192| 类型                   | 说明                                                        |
193| :--------------------- | :--------------------------------------------------------- |
194| Promise&lt;boolean&gt; | Promise对象。返回true表示支持多系统帐号;返回false表示不支持。 |
195
196**错误码:**
197
198| 错误码ID | 错误信息             |
199| -------- | ------------------- |
200| 12300001 | System service exception. |
201
202**示例:**
203
204  ```js
205  try {
206    let accountManager = account_osAccount.getAccountManager();
207    accountManager.checkMultiOsAccountEnabled().then((isEnabled) => {
208      console.log('checkMultiOsAccountEnabled successfully, isEnabled: ' + isEnabled);
209    }).catch((err) => {
210      console.log('checkMultiOsAccountEnabled failed, error: '  + JSON.stringify(err));
211    });
212  } catch (err) {
213    console.log('checkMultiOsAccountEnabled exception: ' + JSON.stringify(err));
214  }
215  ```
216
217### checkOsAccountActivated<sup>9+</sup>
218
219checkOsAccountActivated(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
220
221判断指定系统帐号是否处于激活状态。使用callback异步回调。
222
223**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
224
225**系统能力:** SystemCapability.Account.OsAccount
226
227**参数:**
228
229| 参数名   | 类型                         | 必填 | 说明                                                     |
230| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
231| localId  | number                       | 是   | 系统帐号ID。                                             |
232| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示帐号已激活;返回false表示帐号未激活。 |
233
234**错误码:**
235
236| 错误码ID | 错误信息             |
237| -------- | ------------------- |
238| 12300001 | System service exception. |
239| 12300002 | Invalid localId.    |
240| 12300003 | Account not found. |
241
242**示例:** 判断ID为100的系统帐号是否处于激活状态
243
244  ```js
245  let accountManager = account_osAccount.getAccountManager();
246  let localId = 100;
247  try {
248    accountManager.checkOsAccountActivated(localId, (err, isActivated) => {
249      if (err) {
250        console.log('checkOsAccountActivated failed, error:' + JSON.stringify(err));
251      } else {
252        console.log('checkOsAccountActivated successfully, isActivated:' + isActivated);
253      }
254    });
255  } catch (err) {
256    console.log('checkOsAccountActivated exception:' + JSON.stringify(err));
257  }
258  ```
259
260### checkOsAccountActivated<sup>9+</sup>
261
262checkOsAccountActivated(localId: number): Promise&lt;boolean&gt;
263
264判断指定系统帐号是否处于激活状态。使用Promise异步回调。
265
266**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
267
268**系统能力:** SystemCapability.Account.OsAccount
269
270**参数:**
271
272| 参数名  | 类型   | 必填 | 说明                               |
273| ------- | ------ | ---- | --------------------------------- |
274| localId | number | 是   | 系统帐号ID。 |
275
276**返回值:**
277
278| 类型                   | 说明                                                       |
279| ---------------------- | ---------------------------------------------------------- |
280| Promise&lt;boolean&gt; | Promise对象。返回true表示帐号已激活;返回false表示帐号未激活。 |
281
282**错误码:**
283
284| 错误码ID | 错误信息             |
285| -------- | ------------------- |
286| 12300001 | System service exception. |
287| 12300002 | Invalid localId.    |
288| 12300003 | Account not found. |
289
290**示例:** 判断ID为100的系统帐号是否处于激活状态
291
292  ```js
293  let accountManager = account_osAccount.getAccountManager();
294  let localId = 100;
295  try {
296    accountManager.checkOsAccountActivated(localId).then((isActivated) => {
297      console.log('checkOsAccountActivated successfully, isActivated: ' + isActivated);
298    }).catch((err) => {
299      console.log('checkOsAccountActivated failed, error: '  + JSON.stringify(err));
300    });
301  } catch (err) {
302    console.log('checkOsAccountActivated exception:' + JSON.stringify(err));
303  }
304  ```
305
306### checkOsAccountConstraintEnabled<sup>9+</sup>
307
308checkOsAccountConstraintEnabled(localId: number, constraint: string, callback: AsyncCallback&lt;boolean&gt;): void
309
310判断指定系统帐号是否具有指定约束。使用callback异步回调。
311
312**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
313
314**系统能力:** SystemCapability.Account.OsAccount
315
316**参数:**
317
318| 参数名     | 类型                         | 必填 | 说明                                                               |
319| ---------- | ---------------------------- | ---- | ----------------------------------------------------------------- |
320| localId    | number                       | 是   | 系统帐号ID。                                 |
321| constraint | string                       | 是   | 指定的[约束](#系统帐号约束列表)名称。                                |
322| callback   | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
323
324**错误码:**
325
326| 错误码ID | 错误信息             |
327| -------- | ------------------- |
328| 12300001 | system service exception. |
329| 12300002 | invalid localId or constraint. |
330| 12300003 | the account indicated by localId dose not exist. |
331
332**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
333
334  ```js
335  let accountManager = account_osAccount.getAccountManager();
336  let localId = 100;
337  let constraint = "constraint.wifi";
338  try {
339    accountManager.checkOsAccountConstraintEnabled(localId, constraint, (err, isEnabled)=>{
340      if (err) {
341        console.log("checkOsAccountConstraintEnabled failed, error: " + JSON.stringify(err));
342      } else {
343        console.log("checkOsAccountConstraintEnabled successfully, isEnabled: " + isEnabled);
344      }
345    });
346  } catch (err) {
347    console.log("checkOsAccountConstraintEnabled exception: " + JSON.stringify(err));
348  }
349  ```
350
351### checkOsAccountConstraintEnabled<sup>9+</sup>
352
353checkOsAccountConstraintEnabled(localId: number, constraint: string): Promise&lt;boolean&gt;
354
355判断指定系统帐号是否具有指定约束。使用Promise异步回调。
356
357**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
358
359**系统能力:** SystemCapability.Account.OsAccount
360
361**参数:**
362
363| 参数名     | 类型   | 必填 | 说明                                |
364| ---------- | ------ | ---- | ---------------------------------- |
365| localId    | number | 是   | 系统帐号ID。  |
366| constraint | string | 是   | 指定的[约束](#系统帐号约束列表)名称。 |
367
368**返回值:**
369
370| 类型                   | 说明                                                                  |
371| --------------------- | --------------------------------------------------------------------- |
372| Promise&lt;boolean&gt; | Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
373
374**错误码:**
375
376| 错误码ID | 错误信息             |
377| -------- | ------------------- |
378| 12300001 | system service exception. |
379| 12300002 | invalid localId or constraint. |
380| 12300003 | the account indicated by localId dose not exist. |
381
382**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
383
384  ```js
385  let accountManager = account_osAccount.getAccountManager();
386  let localId = 100;
387  let constraint = "constraint.wifi";
388  try {
389    accountManager.checkOsAccountConstraintEnabled(localId, constraint).then((isEnabled) => {
390      console.log("checkOsAccountConstraintEnabled successfully, isEnabled: " + isEnabled);
391    }).catch((err) => {
392      console.log("checkOsAccountConstraintEnabled failed, error: "  + JSON.stringify(err));
393    });
394  } catch (err) {
395    console.log("checkOsAccountConstraintEnabled exception: " + JSON.stringify(err));
396  }
397  ```
398
399### checkOsAccountTestable<sup>9+</sup>
400
401checkOsAccountTestable(callback: AsyncCallback&lt;boolean&gt;): void
402
403检查当前系统帐号是否为测试帐号。使用callback异步回调。
404
405**系统能力:** SystemCapability.Account.OsAccount
406
407**参数:**
408
409| 参数名   | 类型                         | 必填 | 说明                                                                   |
410| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- |
411| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
412
413**错误码:**
414
415| 错误码ID | 错误信息             |
416| -------- | ------------------- |
417| 12300001 | System service exception. |
418
419**示例:**
420
421  ```js
422  let accountManager = account_osAccount.getAccountManager();
423  try {
424    accountManager.checkOsAccountTestable((err, isTestable) => {
425      if (err) {
426        console.log("checkOsAccountTestable failed, error: " + JSON.stringify(err));
427      } else {
428        console.log("checkOsAccountTestable successfully, isTestable: " + isTestable);
429      }
430    });
431  } catch (err) {
432    console.log("checkOsAccountTestable error: " + JSON.stringify(err));
433  }
434  ```
435
436### checkOsAccountTestable<sup>9+</sup>
437
438checkOsAccountTestable(): Promise&lt;boolean&gt;
439
440检查当前系统帐号是否为测试帐号。使用Promise异步回调。
441
442**系统能力:** SystemCapability.Account.OsAccount
443
444**返回值:**
445
446| 类型                   | 说明                                                                      |
447| ---------------------- | ------------------------------------------------------------------------ |
448| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
449
450**错误码:**
451
452| 错误码ID | 错误信息             |
453| -------- | ------------------- |
454| 12300001 | System service exception. |
455
456**示例:**
457
458  ```js
459  let accountManager = account_osAccount.getAccountManager();
460  try {
461    accountManager.checkOsAccountTestable().then((isTestable) => {
462      console.log("checkOsAccountTestable successfully, isTestable: " + isTestable);
463    }).catch((err) => {
464      console.log("checkOsAccountTestable failed, error: "  + JSON.stringify(err));
465    });
466  } catch (err) {
467    console.log('checkOsAccountTestable exception: ' + JSON.stringify(err));
468  }
469  ```
470
471### checkOsAccountVerified<sup>9+</sup>
472
473checkOsAccountVerified(callback: AsyncCallback&lt;boolean&gt;): void
474
475检查当前系统帐号是否已验证。使用callback异步回调。
476
477**系统能力:** SystemCapability.Account.OsAccount
478
479**参数:**
480
481| 参数名   | 类型                         | 必填 | 说明                                                            |
482| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
483| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号已验证;返回false表示当前帐号未验证。 |
484
485**错误码:**
486
487| 错误码ID | 错误信息             |
488| -------- | ------------------- |
489| 12300001 | system service exception. |
490
491**示例:**
492
493  ```js
494  let accountManager = account_osAccount.getAccountManager();
495  try {
496    accountManager.checkOsAccountVerified((err, isVerified) => {
497      if (err) {
498        console.log("checkOsAccountVerified failed, error: " + JSON.stringify(err));
499      } else {
500        console.log("checkOsAccountVerified successfully, isVerified: " + isVerified);
501      }
502    });
503  } catch (err) {
504    console.log("checkOsAccountVerified exception: " + JSON.stringify(err));
505  }
506  ```
507
508### checkOsAccountVerified<sup>9+</sup>
509
510checkOsAccountVerified(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
511
512检查指定系统帐号是否已验证。使用callback异步回调。
513
514**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
515
516**系统能力:** SystemCapability.Account.OsAccount
517
518**参数:**
519
520| 参数名   | 类型                         | 必填 | 说明                                                            |
521| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
522| localId  | number                       | 是   | 系统帐号ID。                              |
523| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
524
525**错误码:**
526
527| 错误码ID | 错误信息             |
528| -------- | ------------------- |
529| 12300001 | system service exception. |
530| 12300002 | invalid localId.    |
531| 12300003 | the account indicated by localId dose not exist. |
532
533**示例:**
534
535  ```js
536  let accountManager = account_osAccount.getAccountManager();
537  let localId = 100;
538  try {
539    accountManager.checkOsAccountVerified(localId, (err, isVerified) => {
540      if (err) {
541        console.log("checkOsAccountVerified failed, error: " + JSON.stringify(err));
542      } else {
543        console.log("checkOsAccountVerified successfully, isVerified: " + isVerified);
544      }
545    });
546  } catch (err) {
547    console.log("checkOsAccountVerified exception: " + err);
548  }
549  ```
550
551### checkOsAccountVerified<sup>9+</sup>
552
553checkOsAccountVerified(localId: number): Promise&lt;boolean&gt;
554
555检查指定系统帐号是否已验证。使用Promise异步回调。
556
557**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
558
559**系统能力:** SystemCapability.Account.OsAccount
560
561**参数:**
562
563| 参数名  | 类型   | 必填 | 说明                                                              |
564| ------- | ------ | ---- | --------------------------------------------------------------- |
565| localId | number | 是   | 系统帐号ID。 |
566
567**返回值:**
568
569| 类型                   | 说明                                                               |
570| ---------------------- | ----------------------------------------------------------------- |
571| Promise&lt;boolean&gt; | Promise对象。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
572
573**错误码:**
574
575| 错误码ID | 错误信息             |
576| -------- | ------------------- |
577| 12300001 | system service exception. |
578| 12300002 | invalid localId.    |
579| 12300003 | the account indicated by localId dose not exist. |
580
581**示例:**
582
583  ```js
584  let accountManager = account_osAccount.getAccountManager();
585  let localId = 100;
586  try {
587    accountManager.checkOsAccountVerified(localId).then((isVerified) => {
588      console.log("checkOsAccountVerified successfully, isVerified: " + isVerified);
589    }).catch((err) => {
590      console.log("checkOsAccountVerified failed, error: " + JSON.stringify(err));
591    });
592  } catch (err) {
593    console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
594  }
595  ```
596
597### removeOsAccount
598
599removeOsAccount(localId: number, callback: AsyncCallback&lt;void&gt;): void
600
601删除指定系统帐号。使用callback异步回调。
602
603**系统接口:** 此接口为系统接口。
604
605**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
606
607**系统能力:** SystemCapability.Account.OsAccount
608
609**参数:**
610
611| 参数名   | 类型                      | 必填 | 说明                                                 |
612| -------- | ------------------------- | ---- | -------------------------------------------------- |
613| localId  | number                    | 是   | 系统帐号ID。                  |
614| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果删除帐号成功,err为null,否则为错误对象。 |
615
616**错误码:**
617
618| 错误码ID | 错误信息             |
619| -------- | ------------------- |
620| 12300001 | System service exception. |
621| 12300002 | Invalid localId.    |
622| 12300003 | Account not found. |
623| 12300008 | Restricted Account. |
624
625**示例:**
626
627  ```js
628  let accountManager = account_osAccount.getAccountManager();
629  let accountName = "testAccountName";
630  try {
631    accountManager.createOsAccount(accountName, account_osAccount.OsAccountType.NORMAL, (err, osAccountInfo) => {
632      accountManager.removeOsAccount(osAccountInfo.localId, (err)=>{
633        if (err) {
634          console.log("removeOsAccount failed, error: " + JSON.stringify(err));
635        } else {
636          console.log("removeOsAccount successfully");
637        }
638      });
639    });
640  } catch (err) {
641    console.log('removeOsAccount exception:' + JSON.stringify(err));
642  }
643  ```
644
645### removeOsAccount
646
647removeOsAccount(localId: number): Promise&lt;void&gt;
648
649删除指定系统帐号。使用Promise异步回调。
650
651**系统接口:** 此接口为系统接口。
652
653**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
654
655**系统能力:** SystemCapability.Account.OsAccount
656
657**参数:**
658
659| 参数名  | 类型   | 必填 | 说明                               |
660| ------- | ------ | ---- | --------------------------------- |
661| localId | number | 是   | 系统帐号ID。 |
662
663**返回值:**
664
665| 类型                | 说明                                  |
666| ------------------- | ------------------------------------ |
667| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
668
669**错误码:**
670
671| 错误码ID | 错误信息             |
672| -------- | ------------------- |
673| 12300001 | System service exception. |
674| 12300002 | Invalid localId.    |
675| 12300003 | Account not found. |
676| 12300008 | Restricted Account. |
677
678**示例:**
679
680  ```js
681  let accountManager = account_osAccount.getAccountManager();
682  let accountName = "testAccountName";
683  try {
684    accountManager.createOsAccount(accountName, account_osAccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
685      accountManager.removeOsAccount(osAccountInfo.localId).then(() => {
686        console.log("removeOsAccount successfully");
687      }).catch((err) => {
688          console.log("removeOsAccount failed, error: " + JSON.stringify(err));
689      });
690    });
691  } catch (err) {
692    console.log("removeOsAccount exception: " + JSON.stringify(err));
693  }
694  ```
695
696### setOsAccountConstraints
697
698setOsAccountConstraints(localId: number, constraints: Array&lt;string&gt;, enable: boolean,callback: AsyncCallback&lt;void&gt;): void
699
700为指定系统帐号设置/删除约束。使用callback异步回调。
701
702**系统接口:** 此接口为系统接口。
703
704**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
705
706**系统能力:** SystemCapability.Account.OsAccount
707
708**参数:**
709
710| 参数名      | 类型                      | 必填 | 说明                                             |
711| ----------- | ------------------------- | ---- | ----------------------------------------------- |
712| localId     | number                    | 是   | 系统帐号ID。               |
713| constraints | Array&lt;string&gt;       | 是   | 待设置/删除的[约束](#系统帐号约束列表)列表。        |
714| enable      | boolean                   | 是   | 设置(true)/删除(false)                           |
715| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
716
717**错误码:**
718
719| 错误码ID | 错误信息             |
720| -------- | ------------------- |
721| 12300001 | System service exception. |
722| 12300002 | Invalid localId.    |
723| 12300003 | Account not found. |
724| 12300008 | Restricted Account. |
725
726**示例:** 给ID为100的系统帐号设置禁止使用Wi-Fi的约束
727
728  ```js
729  let accountManager = account_osAccount.getAccountManager();
730  let localId = 100;
731  let constraint = "constraint.wifi";
732  try {
733    accountManager.setOsAccountConstraints(localId, [constraint], true, (err) => {
734      if (err) {
735        console.log("setOsAccountConstraints failed, error:" + JSON.stringify(err));
736      } else {
737        console.log("setOsAccountConstraints successfully");
738      }
739    });
740  } catch (err) {
741    console.log("setOsAccountConstraints exception: " + JSON.stringify(err));
742  }
743  ```
744
745### setOsAccountConstraints
746
747setOsAccountConstraints(localId: number, constraints: Array&lt;string&gt;, enable: boolean): Promise&lt;void&gt;
748
749为指定系统帐号设置/删除约束。使用Promise异步回调。
750
751**系统接口:** 此接口为系统接口。
752
753**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
754
755**系统能力:** SystemCapability.Account.OsAccount
756
757**参数:**
758
759| 参数名      | 类型                | 必填 | 说明                                         |
760| ----------- | ------------------- | ---- | -------------------------------------------- |
761| localId     | number              | 是   | 系统帐号ID。           |
762| constraints | Array&lt;string&gt; | 是   | 待设置/删除的[约束](#系统帐号约束列表)列表。    |
763| enable      | boolean             | 是   | 设置(true)/删除(false)。                     |
764
765**返回值:**
766
767| 类型                | 说明                                 |
768| :------------------ | :----------------------------------- |
769| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
770
771**错误码:**
772
773| 错误码ID | 错误信息             |
774| -------- | ------------------- |
775| 12300001 | System service exception. |
776| 12300002 | Invalid localId.    |
777| 12300003 | Account not found. |
778| 12300008 | Restricted Account. |
779
780**示例:** 删除ID为100的系统帐号的禁止使用Wi-Fi的约束
781
782  ```js
783  let accountManager = account_osAccount.getAccountManager();
784  let localId = 100;
785  try {
786    accountManager.setOsAccountConstraints(localId, ['constraint.location.set'], false).then(() => {
787      console.log('setOsAccountConstraints succsuccessfully');
788    }).catch((err) => {
789      console.log('setOsAccountConstraints failed, error: '  + JSON.stringify(err));
790    });
791  } catch (err) {
792    console.log('setOsAccountConstraints exception:' + JSON.stringify(err));
793  }
794  ```
795
796### setOsAccountName
797
798setOsAccountName(localId: number, localName: string, callback: AsyncCallback&lt;void&gt;): void
799
800设置指定系统帐号的帐号名。使用callback异步回调。
801
802**系统接口:** 此接口为系统接口。
803
804**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
805
806**系统能力:** SystemCapability.Account.OsAccount
807
808**参数:**
809
810| 参数名    | 类型                      | 必填 | 说明                                             |
811| :-------- | ------------------------- | ---- | ----------------------------------------------- |
812| localId   | number                    | 是   | 系统帐号ID。               |
813| localName | string                    | 是   | 帐号名,最大长度为1024个字符。                          |
814| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
815
816**错误码:**
817
818| 错误码ID | 错误信息             |
819| -------- | ------------------- |
820| 12300001 | System service exception. |
821| 12300002 | Invalid localId or localName. |
822| 12300003 | Account not found. |
823| 12300008 | Restricted Account. |
824
825**示例:** 将ID为100的系统帐号的帐号名设置成demoName
826
827  ```js
828  let accountManager = account_osAccount.getAccountManager();
829  let localId = 100;
830  let name = "demoName";
831  try {
832    accountManager.setOsAccountName(localId, name, (err) => {
833      if (err) {
834        console.log("setOsAccountName failed, error: " + JSON.stringify(err));
835      } else {
836        console.log("setOsAccountName successfully");
837      }
838    });
839  } catch (err) {
840    console.log('setOsAccountName exception:' + JSON.stringify(err));
841  }
842  ```
843
844### setOsAccountName
845
846setOsAccountName(localId: number, localName: string): Promise&lt;void&gt;
847
848设置指定系统帐号的帐号名。使用Promise异步调用。
849
850**系统接口:** 此接口为系统接口。
851
852**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
853
854**系统能力:** SystemCapability.Account.OsAccount
855
856**参数:**
857
858| 参数名    | 类型   | 必填 | 说明                                |
859| --------- | ------ | ---- | --------------------------------- |
860| localId   | number | 是   | 系统帐号ID。 |
861| localName | string | 是   | 帐号名,最大长度为1024。            |
862
863**返回值:**
864
865| 类型                | 说明                                  |
866| ------------------- | ------------------------------------ |
867| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
868
869**错误码:**
870
871| 错误码ID | 错误信息             |
872| -------- | ------------------- |
873| 12300001 | System service exception. |
874| 12300002 | Invalid localId or localName.    |
875| 12300003 | Account not found. |
876| 12300008 | Restricted Account. |
877
878**示例:** 将ID为100的系统帐号的帐号名设置成demoName
879
880  ```js
881  let accountManager = account_osAccount.getAccountManager();
882  let localId = 100;
883  let name = 'testName';
884  try {
885    accountManager.setOsAccountName(localId, name).then(() => {
886      console.log('setOsAccountName successfully');
887    }).catch((err) => {
888      console.log('setOsAccountName failed, error: '  + JSON.stringify(err));
889    });
890  } catch (err) {
891    console.log('setOsAccountName exception:' + JSON.stringify(err));
892  }
893  ```
894
895### getOsAccountCount<sup>9+</sup>
896
897getOsAccountCount(callback: AsyncCallback&lt;number&gt;): void
898
899获取已创建的系统帐号数量。使用callback异步回调。
900
901**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
902
903**系统能力:** SystemCapability.Account.OsAccount
904
905**参数:**
906
907| 参数名   | 类型                        | 必填 | 说明                                                                         |
908| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
909| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为已创建的系统帐号的数量;否则为错误对象。 |
910
911**错误码:**
912
913| 错误码ID | 错误信息             |
914| -------- | ------------------- |
915| 12300001 | System service exception. |
916
917**示例:**
918
919  ```js
920  let accountManager = account_osAccount.getAccountManager();
921  try {
922    accountManager.getOsAccountCount((err, count) => {
923      if (err) {
924        console.log("getOsAccountCount failed, error: " + JSON.stringify(err));
925      } else {
926        console.log("getOsAccountCount successfully, count: " + count);
927      }
928    });
929  } catch (err) {
930    console.log("getOsAccountCount exception: " + JSON.stringify(err));
931  }
932  ```
933
934### getOsAccountCount<sup>9+</sup>
935
936getOsAccountCount(): Promise&lt;number&gt;
937
938获取已创建的系统帐号数量。使用Promise异步回调。
939
940**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
941
942**系统能力:** SystemCapability.Account.OsAccount
943
944**返回值:**
945
946| 类型                  | 说明                                    |
947| --------------------- | -------------------------------------- |
948| Promise&lt;number&gt; | Promise对象,返回已创建的系统帐号的数量。 |
949
950**错误码:**
951
952| 错误码ID | 错误信息             |
953| -------- | ------------------- |
954| 12300001 | System service exception. |
955
956**示例:**
957
958  ```js
959  let accountManager = account_osAccount.getAccountManager();
960  try {
961    accountManager.getOsAccountCount().then((count) => {
962      console.log("getOsAccountCount successfully, count: " + count);
963    }).catch((err) => {
964      console.log("getOsAccountCount failed, error: " + JSON.stringify(err));
965    });
966  } catch(err) {
967    console.log('getOsAccountCount exception:' + JSON.stringify(err));
968  }
969  ```
970
971### getOsAccountLocalId<sup>9+</sup>
972
973getOsAccountLocalId(callback: AsyncCallback&lt;number&gt;): void
974
975获取当前进程所属的系统帐号ID,使用callback异步回调。
976
977**系统能力:** SystemCapability.Account.OsAccount
978
979**参数:**
980
981| 参数名   | 类型                        | 必填 | 说明                                                                           |
982| -------- | --------------------------- | ---- | ---------------------------------------------------------------------------- |
983| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为当前进程所属的系统帐号ID;否则为错误对象。 |
984
985**错误码:**
986
987| 错误码ID | 错误信息             |
988| -------- | ------------------- |
989| 12300001 | system service exception. |
990
991**示例:**
992
993  ```js
994  let accountManager = account_osAccount.getAccountManager();
995  try {
996    accountManager.getOsAccountLocalId((err, localId) => {
997      if (err) {
998        console.log("getOsAccountLocalId failed, error: " + JSON.stringify(err));
999      } else {
1000        console.log("getOsAccountLocalId successfully, localId: " + localId);
1001      }
1002    });
1003  } catch (err) {
1004    console.log("getOsAccountLocalId exception: " + JSON.stringify(err));
1005  }
1006  ```
1007
1008### getOsAccountLocalId<sup>9+</sup>
1009
1010getOsAccountLocalId(): Promise&lt;number&gt;
1011
1012获取当前进程所属的系统帐号ID,使用Promise异步回调。
1013
1014**系统能力:** SystemCapability.Account.OsAccount
1015
1016**返回值:**
1017
1018| 类型                  | 说明                                      |
1019| --------------------- | ---------------------------------------- |
1020| Promise&lt;number&gt; | Promise对象,返回当前进程所属的系统帐号ID。 |
1021
1022**错误码:**
1023
1024| 错误码ID | 错误信息             |
1025| -------- | ------------------- |
1026| 12300001 | system service exception. |
1027
1028**示例:**
1029
1030  ```js
1031  let accountManager = account_osAccount.getAccountManager();
1032  try {
1033    accountManager.getOsAccountLocalId().then((localId) => {
1034      console.log("getOsAccountLocalId successfully, localId: " + localId);
1035    }).catch((err) => {
1036      console.log("getOsAccountLocalId failed, error: "  + JSON.stringify(err));
1037    });
1038  } catch (err) {
1039    console.log('getOsAccountLocalId exception: ' + JSON.stringify(err));
1040  }
1041  ```
1042
1043### getOsAccountLocalIdForUid<sup>9+</sup>
1044
1045getOsAccountLocalIdForUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
1046
1047根据uid查询对应的系统帐号ID,使用callback异步回调。
1048
1049**系统能力:** SystemCapability.Account.OsAccount
1050
1051**参数:**
1052
1053| 参数名   | 类型                        | 必填 | 说明                                                                    |
1054| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
1055| uid      | number                      | 是   | 进程uid。                                                              |
1056| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为对应的系统帐号ID;否则为错误对象。 |
1057
1058**错误码:**
1059
1060| 错误码ID | 错误信息         |
1061| -------- | --------------- |
1062| 12300001 | system service exception. |
1063| 12300002 | invalid uid.    |
1064
1065**示例:** 查询值为12345678的uid所属的系统帐号的帐号ID
1066
1067  ```js
1068  let accountManager = account_osAccount.getAccountManager();
1069  let uid = 12345678;
1070  try {
1071    accountManager.getOsAccountLocalIdForUid(uid, (err, localId) => {
1072      if (err) {
1073        console.log("getOsAccountLocalIdForUid failed, error: " + JSON.stringify(err));
1074      }
1075      console.log("getOsAccountLocalIdForUid successfully, localId: " + localId);
1076    });
1077  } catch (err) {
1078    console.log("getOsAccountLocalIdForUid exception: " + JSON.stringify(err));
1079  }
1080  ```
1081
1082### getOsAccountLocalIdForUid<sup>9+</sup>
1083
1084getOsAccountLocalIdForUid(uid: number): Promise&lt;number&gt;
1085
1086根据uid查询对应的系统帐号ID,使用Promise异步回调。
1087
1088**系统能力:** SystemCapability.Account.OsAccount
1089
1090**参数:**
1091
1092| 参数名 | 类型   | 必填 | 说明      |
1093| ------ | ------ | ---- | --------- |
1094| uid    | number | 是   | 进程uid。 |
1095
1096**返回值:**
1097
1098| 类型                  | 说明                                     |
1099| --------------------- | --------------------------------------- |
1100| Promise&lt;number&gt; | Promise对象,返回指定uid对应的系统帐号ID。 |
1101
1102**错误码:**
1103
1104| 错误码ID | 错误信息       |
1105| -------- | ------------- |
1106| 12300001 | system service exception. |
1107| 12300002 | invalid uid. |
1108
1109**示例:** 查询值为12345678的uid所属的系统帐号ID
1110
1111  ```js
1112  let accountManager = account_osAccount.getAccountManager();
1113  let uid = 12345678;
1114  try {
1115    accountManager.getOsAccountLocalIdForUid(uid).then((localId) => {
1116      console.log("getOsAccountLocalIdForUid successfully, localId: " + localId);
1117    }).catch((err) => {
1118      console.log("getOsAccountLocalIdForUid failed, error: " + JSON.stringify(err));
1119    });
1120  } catch (err) {
1121    console.log('getOsAccountLocalIdForUid exception: ' + JSON.stringify(err));
1122  }
1123  ```
1124
1125### getOsAccountLocalIdForDomain<sup>9+</sup>
1126
1127getOsAccountLocalIdForDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void
1128
1129根据域帐号信息,获取与其关联的系统帐号ID。使用callback异步回调。
1130
1131**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1132
1133**系统能力:** SystemCapability.Account.OsAccount
1134
1135**参数:**
1136
1137| 参数名     | 类型                                    | 必填 | 说明                                                                         |
1138| ---------- | --------------------------------------- | ---- | -------------------------------------------------------------------------- |
1139| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。                                                                |
1140| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调函数。如果查询成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。 |
1141
1142**错误码:**
1143
1144| 错误码ID | 错误信息       |
1145| -------- | ------------- |
1146| 12300001 | system service exception. |
1147| 12300002 | invalid domainInfo. |
1148
1149**示例:**
1150
1151  ```js
1152  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
1153  let accountManager = account_osAccount.getAccountManager();
1154  try {
1155    accountManager.getOsAccountLocalIdForDomain(domainInfo, (err, localId) => {
1156      if (err) {
1157        console.log("getOsAccountLocalIdForDomain failed, error: " + JSON.stringify(err));
1158      } else {
1159        console.log("getOsAccountLocalIdForDomain successfully, localId: " + localId);
1160      }
1161    });
1162  } catch (err) {
1163    console.log('getOsAccountLocalIdForDomain exception: ' + JSON.stringify(err));
1164  }
1165  ```
1166
1167### getOsAccountLocalIdForDomain<sup>9+</sup>
1168
1169getOsAccountLocalIdForDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;
1170
1171根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用Promise异步回调。
1172
1173**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1174
1175**系统能力:** SystemCapability.Account.OsAccount
1176
1177**参数:**
1178
1179| 参数名     | 类型                                    | 必填 | 说明         |
1180| ---------- | --------------------------------------- | ---- | ------------ |
1181| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。 |
1182
1183**返回值:**
1184
1185| 类型                  | 说明                                    |
1186| :-------------------- | :------------------------------------- |
1187| Promise&lt;number&gt; | Promise对象,返回域帐号关联的系统帐号ID。 |
1188
1189**错误码:**
1190
1191| 错误码ID | 错误信息       |
1192| -------- | ------------- |
1193| 12300001 | system service exception. |
1194| 12300002 | invalid domainInfo. |
1195
1196**示例:**
1197
1198  ```js
1199  let accountManager = account_osAccount.getAccountManager();
1200  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
1201  try {
1202    accountManager.getOsAccountLocalIdForDomain(domainInfo).then((localId) => {
1203      console.log("getOsAccountLocalIdForDomain successfully, localId: " + localId);
1204    }).catch((err) => {
1205      console.log("getOsAccountLocalIdForDomain failed, error: "  + JSON.stringify(err));
1206    });
1207  } catch (err) {
1208    console.log("getOsAccountLocalIdForDomain exception: " + JSON.stringify(err));
1209  }
1210  ```
1211
1212### queryMaxOsAccountNumber
1213
1214queryMaxOsAccountNumber(callback: AsyncCallback&lt;number&gt;): void
1215
1216查询允许创建的系统帐号的最大数量。使用callback异步回调。
1217
1218**系统接口:** 此接口为系统接口。
1219
1220**系统能力:** SystemCapability.Account.OsAccount
1221
1222**参数:**
1223
1224| 参数名   | 类型                        | 必填 | 说明                                                                              |
1225| -------- | --------------------------- | ---- | -------------------------------------------------------------------------------- |
1226| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数,如果查询成功,err为null,data为允许创建的系统帐号的最大数量;否则为错误对象。 |
1227
1228**错误码:**
1229
1230| 错误码ID | 错误信息       |
1231| -------- | ------------- |
1232| 12300001 | System service exception. |
1233
1234**示例:**
1235
1236  ```js
1237  let accountManager = account_osAccount.getAccountManager();
1238  try {
1239    accountManager.queryMaxOsAccountNumber((err, maxCnt) => {
1240      if (err) {
1241        console.log('queryMaxOsAccountNumber failed, error:' + JSON.stringify(err));
1242      } else {
1243        console.log('queryMaxOsAccountNumber successfully, maxCnt:' + maxCnt);
1244      }
1245    });
1246  } catch (err) {
1247    console.log('queryMaxOsAccountNumber exception:' + JSON.stringify(err));
1248  }
1249  ```
1250
1251### queryMaxOsAccountNumber
1252
1253queryMaxOsAccountNumber(): Promise&lt;number&gt;
1254
1255查询允许创建的系统帐号的最大数量。使用Promise异步回调。
1256
1257**系统接口:** 此接口为系统接口。
1258
1259**系统能力:** SystemCapability.Account.OsAccount
1260
1261**返回值:**
1262
1263| 类型                  | 说明                                         |
1264| --------------------- | ------------------------------------------- |
1265| Promise&lt;number&gt; | Promise对象,返回允许创建的系统帐号的最大数量。 |
1266
1267**错误码:**
1268
1269| 错误码ID | 错误信息       |
1270| -------- | ------------- |
1271| 12300001 | System service exception. |
1272
1273**示例:**
1274
1275  ```js
1276  let accountManager = account_osAccount.getAccountManager();
1277  try {
1278    accountManager.queryMaxOsAccountNumber().then((maxCnt) => {
1279      console.log('queryMaxOsAccountNumber successfully, maxCnt: ' + maxCnt);
1280    }).catch((err) => {
1281      console.log('queryMaxOsAccountNumber failed, error: '  + JSON.stringify(err));
1282    });
1283  } catch (err) {
1284    console.log('queryMaxOsAccountNumber exception:' + JSON.stringify(err));
1285  }
1286  ```
1287
1288### getOsAccountConstraints<sup>9+</sup>
1289
1290getOsAccountConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
1291
1292获取指定系统帐号的全部约束。使用callback异步回调。
1293
1294**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1295
1296**系统能力:** SystemCapability.Account.OsAccount
1297
1298**参数:**
1299
1300| 参数名   | 类型                                     | 必填 | 说明                                                                                           |
1301| -------- | ---------------------------------------- | ---- | -------------------------------------------------------------------------------------------- |
1302| localId  | number                                   | 是   | 系统帐号ID。                                                                                  |
1303| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是   | 回调函数,如果获取成功,err为null,data为该系统帐号的全部[约束](#系统帐号约束列表);否则为错误对象。 |
1304
1305**错误码:**
1306
1307| 错误码ID | 错误信息             |
1308| -------- | ------------------- |
1309| 12300001 | System service exception. |
1310| 12300002 | Invalid localId.    |
1311| 12300003 | Account not found. |
1312
1313**示例:** 获取ID为100的系统帐号的全部约束
1314
1315  ```js
1316  let accountManager = account_osAccount.getAccountManager();
1317  let localId = 100;
1318  try {
1319    accountManager.getOsAccountConstraints(localId, (err, constraints) => {
1320      if (err) {
1321        console.log("getOsAccountConstraints failed, err: " + JSON.stringify(err));
1322      } else {
1323        console.log("getOsAccountConstraints successfully, constraints: " + JSON.stringify(constraints));
1324      }
1325    });
1326  } catch (err) {
1327    console.log('getOsAccountConstraints exception:' + JSON.stringify(err));
1328  }
1329  ```
1330
1331### getOsAccountConstraints<sup>9+</sup>
1332
1333getOsAccountConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;
1334
1335获取指定系统帐号的全部约束。使用Promise异步回调。
1336
1337**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1338
1339**系统能力:** SystemCapability.Account.OsAccount
1340
1341**参数:**
1342
1343| 参数名  | 类型   | 必填 | 说明         |
1344| ------- | ------ | ---- | ------------ |
1345| localId | number | 是   | 系统帐号ID。 |
1346
1347**返回值:**
1348
1349| 类型                               | 说明                                                       |
1350| ---------------------------------- | ---------------------------------------------------------- |
1351| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回指定系统帐号的全部[约束](#系统帐号约束列表)。 |
1352
1353**错误码:**
1354
1355| 错误码ID | 错误信息             |
1356| -------- | ------------------- |
1357| 12300001 | System service exception. |
1358| 12300002 | Invalid localId.    |
1359| 12300003 | Account not found. |
1360
1361**示例:** 获取ID为100的系统帐号的全部约束
1362
1363  ```js
1364  let accountManager = account_osAccount.getAccountManager();
1365  let localId = 100;
1366  try {
1367    accountManager.getOsAccountConstraints(localId).then((constraints) => {
1368      console.log('getOsAccountConstraints, constraints: ' + constraints);
1369    }).catch((err) => {
1370      console.log('getOsAccountConstraints err: '  + JSON.stringify(err));
1371    });
1372  } catch (e) {
1373    console.log('getOsAccountConstraints exception:' + JSON.stringify(e));
1374  }
1375  ```
1376
1377### queryAllCreatedOsAccounts
1378
1379queryAllCreatedOsAccounts(callback: AsyncCallback&lt;Array&lt;OsAccountInfo&gt;&gt;): void
1380
1381查询已创建的所有系统帐号的信息列表。使用callback异步回调。
1382
1383**系统接口:** 此接口为系统接口。
1384
1385**系统能力:** SystemCapability.Account.OsAccount
1386
1387**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1388
1389**参数:**
1390
1391| 参数名   | 类型                                                         | 必填 | 说明                                               |
1392| -------- | ------------------------------------------------------------ | ---- | -------------------------------------------------- |
1393| callback | AsyncCallback&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为已创建的所有系统帐号的信息列表;否则为错误对象。 |
1394
1395**错误码:**
1396
1397| 错误码ID | 错误信息       |
1398| -------- | ------------- |
1399| 12300001 | System service exception. |
1400
1401**示例:**
1402
1403  ```js
1404  let accountManager = account_osAccount.getAccountManager();
1405  try {
1406    accountManager.queryAllCreatedOsAccounts((err, accountArr)=>{
1407      console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err));
1408      console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr));
1409    });
1410  } catch (e) {
1411    console.log('queryAllCreatedOsAccounts exception:' + JSON.stringify(e));
1412  }
1413  ```
1414
1415### queryAllCreatedOsAccounts
1416
1417queryAllCreatedOsAccounts(): Promise&lt;Array&lt;OsAccountInfo&gt;&gt;
1418
1419查询已创建的所有系统帐号的信息列表。使用Promise异步回调。
1420
1421**系统接口:** 此接口为系统接口。
1422
1423**系统能力:** SystemCapability.Account.OsAccount
1424
1425**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1426
1427**返回值:**
1428
1429| 类型                                                        | 说明                                           |
1430| ----------------------------------------------------------- | --------------------------------------------- |
1431| Promise&lt;Array&lt;[OsAccountInfo](#osaccountinfo)&gt;&gt; | Promise对象,返回已创建的所有系统帐号的信息列表。 |
1432
1433**错误码:**
1434
1435| 错误码ID | 错误信息       |
1436| -------- | ------------- |
1437| 12300001 | System service exception. |
1438
1439**示例:**
1440
1441  ```js
1442  let accountManager = account_osAccount.getAccountManager();
1443  try {
1444    accountManager.queryAllCreatedOsAccounts().then((accountArr) => {
1445      console.log('queryAllCreatedOsAccounts, accountArr: ' + JSON.stringify(accountArr));
1446    }).catch((err) => {
1447      console.log('queryAllCreatedOsAccounts err: '  + JSON.stringify(err));
1448    });
1449  } catch (e) {
1450    console.log('queryAllCreatedOsAccounts exception:' + JSON.stringify(e));
1451  }
1452  ```
1453
1454### getActivatedOsAccountLocalIds<sup>9+</sup>
1455
1456getActivatedOsAccountLocalIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void
1457
1458查询当前处于激活状态的系统帐号的ID列表。使用callback异步回调。
1459
1460**系统能力:** SystemCapability.Account.OsAccount
1461
1462**参数:**
1463
1464| 参数名   | 类型                                     | 必填 | 说明                                                   |
1465| -------- | ---------------------------------------- | ---- | ------------------------------------------------------ |
1466| callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前处于激活状态的系统帐号的ID列表;否则为错误对象。 |
1467
1468**错误码:**
1469
1470| 错误码ID | 错误信息       |
1471| -------- | ------------- |
1472| 12300001 | system service exception. |
1473
1474**示例:**
1475
1476  ```js
1477  let accountManager = account_osAccount.getAccountManager();
1478  try {
1479    accountManager.getActivatedOsAccountLocalIds((err, idArray)=>{
1480      console.log('getActivatedOsAccountLocalIds err:' + JSON.stringify(err));
1481      console.log('getActivatedOsAccountLocalIds idArray length:' + idArray.length);
1482      for(let i=0;i<idArray.length;i++) {
1483        console.info('activated os account id: ' + idArray[i]);
1484      }
1485    });
1486  } catch (e) {
1487    console.log('getActivatedOsAccountLocalIds exception:' + JSON.stringify(e));
1488  }
1489  ```
1490
1491### getActivatedOsAccountLocalIds<sup>9+</sup>
1492
1493getActivatedOsAccountLocalIds(): Promise&lt;Array&lt;number&gt;&gt;
1494
1495查询当前处于激活状态的系统帐号的ID列表。使用Promise异步回调。
1496
1497**系统能力:** SystemCapability.Account.OsAccount
1498
1499**返回值:**
1500
1501| 类型                               | 说明                                               |
1502| :--------------------------------- | :------------------------------------------------ |
1503| Promise&lt;Array&lt;number&gt;&gt; | Promise对象,返回当前处于激活状态的系统帐号的ID列表。 |
1504
1505**错误码:**
1506
1507| 错误码ID | 错误信息       |
1508| -------- | ------------- |
1509| 12300001 | system service exception. |
1510
1511**示例:**
1512
1513  ```js
1514  let accountManager = account_osAccount.getAccountManager();
1515  try {
1516    accountManager.getActivatedOsAccountLocalIds().then((idArray) => {
1517      console.log('getActivatedOsAccountLocalIds, idArray: ' + idArray);
1518    }).catch((err) => {
1519      console.log('getActivatedOsAccountLocalIds err: '  + JSON.stringify(err));
1520    });
1521  } catch (e) {
1522    console.log('getActivatedOsAccountLocalIds exception:' + JSON.stringify(e));
1523  }
1524  ```
1525
1526### createOsAccount
1527
1528createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
1529
1530创建一个系统帐号。使用callback异步回调。
1531
1532**系统接口:** 此接口为系统接口。
1533
1534**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1535
1536**系统能力:** SystemCapability.Account.OsAccount
1537
1538**参数:**
1539
1540| 参数名    | 类型                                                 | 必填 | 说明                                                                         |
1541| :-------- | ---------------------------------------------------- | ---- | --------------------------------------------------------------------------- |
1542| localName | string                                               | 是   | 创建的系统帐号的名称。                                                        |
1543| type      | [OsAccountType](#osaccounttype)                      | 是   | 创建的系统帐号的类型。                                                        |
1544| callback  | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果创建成功,err为null,data为新创建的系统帐号的信息;否则为错误对象。 |
1545
1546**错误码:**
1547
1548| 错误码ID  | 错误信息                   |
1549| -------- | ------------------------- |
1550| 12300001 | System service exception. |
1551| 12300002 | Invalid localName or type. |
1552| 12300005 | Multi-user not supported. |
1553| 12300006 | Unsupported account type. |
1554| 12300007 | The number of account reaches the upper limit. |
1555
1556**示例:**
1557
1558  ```js
1559  let accountManager = account_osAccount.getAccountManager();
1560  try {
1561    accountManager.createOsAccount('testName', account_osAccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
1562      console.log('createOsAccount err:' + JSON.stringify(err));
1563      console.log('createOsAccount osAccountInfo:' + JSON.stringify(osAccountInfo));
1564    });
1565  } catch (e) {
1566    console.log('createOsAccount exception:' + JSON.stringify(e));
1567  }
1568  ```
1569
1570### createOsAccount
1571
1572createOsAccount(localName: string, type: OsAccountType): Promise&lt;OsAccountInfo&gt;
1573
1574创建一个系统帐号。使用Promise异步回调。
1575
1576**系统接口:** 此接口为系统接口。
1577
1578**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1579
1580**系统能力:** SystemCapability.Account.OsAccount
1581
1582**参数:**
1583
1584| 参数名    | 类型                            | 必填 | 说明                   |
1585| --------- | ------------------------------- | ---- | ---------------------- |
1586| localName | string                          | 是   | 创建的系统帐号的名称。 |
1587| type      | [OsAccountType](#osaccounttype) | 是   | 创建的系统帐号的类型。 |
1588
1589**返回值:**
1590
1591| 类型                                           | 说明                                  |
1592| ---------------------------------------------- | ------------------------------------- |
1593| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回新创建的系统帐号的信息。 |
1594
1595**错误码:**
1596
1597| 错误码ID  | 错误信息                   |
1598| -------- | ------------------------- |
1599| 12300001 | System service exception. |
1600| 12300002 | Invalid localName or type. |
1601| 12300005 | Multi-user not supported. |
1602| 12300006 | Unsupported account type. |
1603| 12300007 | The number of account reaches the upper limit. |
1604
1605**示例:**
1606
1607  ```js
1608  let accountManager = account_osAccount.getAccountManager();
1609  try {
1610    accountManager.createOsAccount('testAccountName', account_osAccount.OsAccountType.NORMAL).then((accountInfo) => {
1611      console.log('createOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1612    }).catch((err) => {
1613      console.log('createOsAccount err: '  + JSON.stringify(err));
1614    });
1615  } catch (e) {
1616    console.log('createOsAccount exception:' + JSON.stringify(e));
1617  }
1618  ```
1619
1620### createOsAccountForDomain<sup>8+</sup>
1621
1622createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
1623
1624根据域帐号信息,创建一个系统帐号并将其与域帐号关联。使用callback异步回调。
1625
1626**系统接口:** 此接口为系统接口。
1627
1628**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1629
1630**系统能力:** SystemCapability.Account.OsAccount
1631
1632**参数:**
1633
1634| 参数名     | 类型                                                 | 必填 | 说明                                                                         |
1635| ---------- | ---------------------------------------------------- | ---- | -------------------------------------------------------------------------- |
1636| type       | [OsAccountType](#osaccounttype)                      | 是   | 创建的系统帐号的类型。                                                       |
1637| domainInfo | [DomainAccountInfo](#domainaccountinfo8)              | 是   | 域帐号信息。                                                               |
1638| callback   | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果创建成功,err为null,data为新创建的系统帐号的信息;否则为错误对象。 |
1639
1640**错误码:**
1641
1642| 错误码ID | 错误信息                     |
1643| -------- | ------------------- |
1644| 12300001 | System service exception. |
1645| 12300002 | Invalid type or domainInfo. |
1646| 12300005 | Multi-user not supported. |
1647| 12300006 | Unsupported account type. |
1648| 12300007 | The number of account reaches the upper limit. |
1649
1650**示例:**
1651
1652  ```js
1653  let accountManager = account_osAccount.getAccountManager();
1654  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
1655  try {
1656    accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo, (err, osAccountInfo)=>{
1657      console.log('createOsAccountForDomain err:' + JSON.stringify(err));
1658      console.log('createOsAccountForDomain osAccountInfo:' + JSON.stringify(osAccountInfo));
1659    });
1660  } catch (e) {
1661    console.log('createOsAccountForDomain exception:' + JSON.stringify(e));
1662  }
1663  ```
1664
1665### createOsAccountForDomain<sup>8+</sup>
1666
1667createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise&lt;OsAccountInfo&gt;
1668
1669根据传入的域帐号信息,创建与其关联的系统帐号。使用Promise异步回调。
1670
1671**系统接口:** 此接口为系统接口。
1672
1673**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1674
1675**系统能力:** SystemCapability.Account.OsAccount
1676
1677**参数:**
1678
1679| 参数名     | 类型                                      | 必填 | 说明                 |
1680| ---------- | ---------------------------------------- | ---- | -------------------- |
1681| type       | [OsAccountType](#osaccounttype)          | 是   | 创建的系统帐号的类型。 |
1682| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。          |
1683
1684**返回值:**
1685
1686| 类型                                           | 说明                                    |
1687| ---------------------------------------------- | -------------------------------------- |
1688| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回新创建的系统帐号的信息。 |
1689
1690**错误码:**
1691
1692| 错误码ID | 错误信息                     |
1693| -------- | ------------------- |
1694| 12300001 | System service exception. |
1695| 12300002 | Invalid type or domainInfo. |
1696| 12300005 | Multi-user not supported. |
1697| 12300006 | Unsupported account type. |
1698| 12300007 | The number of account reaches the upper limit. |
1699
1700**示例:**
1701
1702  ```js
1703  let accountManager = account_osAccount.getAccountManager();
1704  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
1705  try {
1706    accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo).then((accountInfo) => {
1707      console.log('createOsAccountForDomain, account info: ' + JSON.stringify(accountInfo));
1708    }).catch((err) => {
1709      console.log('createOsAccountForDomain err: '  + JSON.stringify(err));
1710    });
1711  } catch (e) {
1712    console.log('createOsAccountForDomain exception:' + JSON.stringify(e));
1713  }
1714  ```
1715
1716### getCurrentOsAccount<sup>9+</sup>
1717
1718getCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void
1719
1720查询当前进程所属的系统帐号的信息。使用callback异步回调。
1721
1722**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1723
1724**系统能力:** SystemCapability.Account.OsAccount
1725
1726**参数:**
1727
1728| 参数名   | 类型                                                 | 必填 | 说明                                           |
1729| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
1730| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号信息;否则为错误对象。 |
1731
1732**错误码:**
1733
1734| 错误码ID | 错误信息             |
1735| -------- | ------------------- |
1736| 12300001 | System service exception. |
1737
1738**示例:**
1739
1740  ```js
1741  let accountManager = account_osAccount.getAccountManager();
1742  try {
1743    accountManager.getCurrentOsAccount((err, curAccountInfo)=>{
1744      console.log('getCurrentOsAccount err:' + JSON.stringify(err));
1745      console.log('getCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
1746    });
1747  } catch (e) {
1748    console.log('getCurrentOsAccount exception:' + JSON.stringify(e));
1749  }
1750  ```
1751
1752### getCurrentOsAccount<sup>9+</sup>
1753
1754getCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
1755
1756查询当前进程所属的系统帐号的信息。使用Promise异步回调。
1757
1758**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
1759
1760**系统能力:** SystemCapability.Account.OsAccount
1761
1762**返回值:**
1763
1764| 类型                                           | 说明                                       |
1765| ---------------------------------------------- | ----------------------------------------- |
1766| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回当前进程所属的系统帐号信息。 |
1767
1768**错误码:**
1769
1770| 错误码ID | 错误信息             |
1771| -------- | ------------------- |
1772| 12300001 | System service exception. |
1773
1774**示例:**
1775
1776  ```js
1777  let accountManager = account_osAccount.getAccountManager();
1778  try {
1779    accountManager.getCurrentOsAccount().then((accountInfo) => {
1780      console.log('getCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
1781    }).catch((err) => {
1782      console.log('getCurrentOsAccount err: '  + JSON.stringify(err));
1783    });
1784  } catch (e) {
1785    console.log('getCurrentOsAccount exception:' + JSON.stringify(e));
1786  }
1787  ```
1788
1789### queryOsAccountById
1790
1791queryOsAccountById(localId: number, callback: AsyncCallback&lt;OsAccountInfo&gt;): void
1792
1793查询指定系统帐号的信息。使用callback异步回调。
1794
1795**系统接口:** 此接口为系统接口。
1796
1797**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
1798
1799**系统能力:** SystemCapability.Account.OsAccount
1800
1801**参数:**
1802
1803| 参数名   | 类型                                                 | 必填 | 说明                                                                       |
1804| -------- | ---------------------------------------------------- | ---- | ------------------------------------------------------------------------ |
1805| localId  | number                                               | 是   | 要查询的系统帐号的ID。                                                      |
1806| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果查询成功,err为null,data为查到的系统帐号的信息;否则为错误对象。 |
1807
1808**错误码:**
1809
1810| 错误码ID | 错误信息             |
1811| -------- | ------------------- |
1812| 12300001 | System service exception. |
1813| 12300002 | Invalid localId.    |
1814| 12300003 | Account not found. |
1815
1816**示例:** 查询ID为100的系统帐号信息
1817
1818  ```js
1819  let accountManager = account_osAccount.getAccountManager();
1820  let localId = 100;
1821  try {
1822    accountManager.queryOsAccountById(localId, (err, accountInfo)=>{
1823      console.log('queryOsAccountById err:' + JSON.stringify(err));
1824      console.log('queryOsAccountById accountInfo:' + JSON.stringify(accountInfo));
1825    });
1826  } catch (e) {
1827    console.log('queryOsAccountById exception:' + JSON.stringify(e));
1828  }
1829  ```
1830
1831### queryOsAccountById
1832
1833queryOsAccountById(localId: number): Promise&lt;OsAccountInfo&gt;
1834
1835查询指定系统帐号的信息。使用Promise异步回调。
1836
1837**系统接口:** 此接口为系统接口。
1838
1839**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
1840
1841**系统能力:** SystemCapability.Account.OsAccount
1842
1843**参数:**
1844
1845| 参数名  | 类型   | 必填 | 说明                 |
1846| ------- | ------ | ---- | -------------------- |
1847| localId | number | 是   | 要查询的系统帐号的ID |
1848
1849**返回值:**
1850
1851| 类型                                           | 说明                                 |
1852| ---------------------------------------------- | ------------------------------------ |
1853| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回查到的系统帐号的信息。 |
1854
1855**错误码:**
1856
1857| 错误码ID | 错误信息             |
1858| -------- | ------------------- |
1859| 12300001 | System service exception. |
1860| 12300002 | Invalid localId.    |
1861| 12300003 | Account not found. |
1862
1863**示例:** 查询ID为100的系统帐号信息
1864
1865  ```js
1866  let accountManager = account_osAccount.getAccountManager();
1867  let localId = 100;
1868  try {
1869    accountManager.queryOsAccountById(localId).then((accountInfo) => {
1870      console.log('queryOsAccountById, accountInfo: ' + JSON.stringify(accountInfo));
1871    }).catch((err) => {
1872      console.log('queryOsAccountById err: '  + JSON.stringify(err));
1873    });
1874  } catch (e) {
1875    console.log('queryOsAccountById exception:' + JSON.stringify(e));
1876  }
1877  ```
1878
1879### getOsAccountType<sup>9+</sup>
1880
1881getOsAccountType(callback: AsyncCallback&lt;OsAccountType&gt;): void
1882
1883查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
1884
1885**系统能力:** SystemCapability.Account.OsAccount
1886
1887**参数:**
1888
1889| 参数名   | 类型                                                 | 必填 | 说明                                                 |
1890| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------- |
1891| callback | AsyncCallback&lt;[OsAccountType](#osaccounttype)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号的帐号类型;否则为错误对象。 |
1892
1893**错误码:**
1894
1895| 错误码ID | 错误信息             |
1896| -------- | ------------------- |
1897| 12300001 | System service exception. |
1898
1899**示例:**
1900
1901  ```js
1902  let accountManager = account_osAccount.getAccountManager();
1903  try {
1904    accountManager.getOsAccountType((err, accountType) => {
1905      console.log('getOsAccountType err: ' + JSON.stringify(err));
1906      console.log('getOsAccountType accountType: ' + accountType);
1907    });
1908  } catch (e) {
1909    console.log('getOsAccountType exception: ' + JSON.stringify(e));
1910  }
1911  ```
1912
1913### getOsAccountType<sup>9+</sup>
1914
1915getOsAccountType(): Promise&lt;OsAccountType&gt;
1916
1917查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
1918
1919**系统能力:** SystemCapability.Account.OsAccount
1920
1921**返回值:**
1922
1923| 类型                                           | 说明                                             |
1924| ---------------------------------------------- | ----------------------------------------------- |
1925| Promise&lt;[OsAccountType](#osaccounttype)&gt; | Promise对象,返回当前进程所属的系统帐号的帐号类型。 |
1926
1927**错误码:**
1928
1929| 错误码ID | 错误信息             |
1930| -------- | ------------------- |
1931| 12300001 | System service exception. |
1932
1933**示例:**
1934
1935  ```js
1936  let accountManager = account_osAccount.getAccountManager();
1937  try {
1938    accountManager.getOsAccountType().then((accountType) => {
1939      console.log('getOsAccountType, accountType: ' + accountType);
1940    }).catch((err) => {
1941      console.log('getOsAccountType err: '  + JSON.stringify(err));
1942    });
1943  } catch (e) {
1944    console.log('getOsAccountType exception: ' + JSON.stringify(e));
1945  }
1946  ```
1947
1948### queryDistributedVirtualDeviceId<sup>9+</sup>
1949
1950queryDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void
1951
1952获取分布式虚拟设备ID。使用callback异步回调。
1953
1954**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
1955
1956**系统能力:** SystemCapability.Account.OsAccount
1957
1958**参数:**
1959
1960| 参数名   | 类型                        | 必填 | 说明                                                                   |
1961| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
1962| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。如果获取成功,err为null,data为分布式虚拟设备ID;否则为错误对象。 |
1963
1964**错误码:**
1965
1966| 错误码ID | 错误信息             |
1967| -------- | ------------------- |
1968| 12300001 | System service exception. |
1969
1970**示例:**
1971
1972  ```js
1973  let accountManager = account_osAccount.getAccountManager();
1974  try {
1975    accountManager.queryDistributedVirtualDeviceId((err, virtualID) => {
1976      console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
1977      console.log('queryDistributedVirtualDeviceId virtualID: ' + virtualID);
1978    });
1979  } catch (e) {
1980    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
1981  }
1982  ```
1983
1984### queryDistributedVirtualDeviceId<sup>9+</sup>
1985
1986queryDistributedVirtualDeviceId(): Promise&lt;string&gt;
1987
1988获取分布式虚拟设备ID。使用Promise异步回调。
1989
1990**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS
1991
1992**系统能力:** SystemCapability.Account.OsAccount
1993
1994**返回值:**
1995
1996| 类型                  | 说明                              |
1997| --------------------- | --------------------------------- |
1998| Promise&lt;string&gt; | Promise对象,返回分布式虚拟设备ID。 |
1999
2000**错误码:**
2001
2002| 错误码ID | 错误信息             |
2003| -------- | ------------------- |
2004| 12300001 | System service exception. |
2005
2006**示例:**
2007
2008  ```js
2009  let accountManager = account_osAccount.getAccountManager();
2010  try {
2011    accountManager.queryDistributedVirtualDeviceId().then((virtualID) => {
2012      console.log('queryDistributedVirtualDeviceId, virtualID: ' + virtualID);
2013    }).catch((err) => {
2014      console.log('queryDistributedVirtualDeviceId err: '  + JSON.stringify(err));
2015    });
2016  } catch (e) {
2017    console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
2018  }
2019  ```
2020
2021### getOsAccountProfilePhoto
2022
2023getOsAccountProfilePhoto(localId: number, callback: AsyncCallback&lt;string&gt;): void
2024
2025获取指定系统帐号的头像信息。使用callback异步回调。
2026
2027**系统接口:** 此接口为系统接口。
2028
2029**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2030
2031**系统能力:** SystemCapability.Account.OsAccount
2032
2033**参数:**
2034
2035| 参数名   | 类型                        | 必填 | 说明                                                                         |
2036| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
2037| localId  | number                      | 是   | 系统帐号ID。                                                                |
2038| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。如果获取成功,err为null,data为指定系统帐号的头像信息;否则为错误对象。 |
2039
2040**错误码:**
2041
2042| 错误码ID | 错误信息             |
2043| -------- | ------------------- |
2044| 12300001 | System service exception. |
2045| 12300002 | Invalid localId.    |
2046| 12300003 | Account not found. |
2047
2048**示例:** 获取ID为100的系统帐号的头像
2049
2050  ```js
2051  let accountManager = account_osAccount.getAccountManager();
2052  let localId = 100;
2053  try {
2054    accountManager.getOsAccountProfilePhoto(localId, (err, photo)=>{
2055      console.log('getOsAccountProfilePhoto err:' + JSON.stringify(err));
2056      console.log('get photo:' + photo + ' by localId: ' + localId);
2057    });
2058  } catch (e) {
2059    console.log('getOsAccountProfilePhoto exception:' + JSON.stringify(e));
2060  }
2061  ```
2062
2063### getOsAccountProfilePhoto
2064
2065getOsAccountProfilePhoto(localId: number): Promise&lt;string&gt;
2066
2067获取指定系统帐号的头像信息。使用Promise异步回调。
2068
2069**系统接口:** 此接口为系统接口。
2070
2071**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2072
2073**系统能力:** SystemCapability.Account.OsAccount
2074
2075**参数:**
2076
2077| 参数名  | 类型   | 必填 | 说明         |
2078| ------- | ------ | ---- | ------------ |
2079| localId | number | 是   | 系统帐号ID。 |
2080
2081**返回值:**
2082
2083| 类型                  | 说明                                    |
2084| --------------------- | -------------------------------------- |
2085| Promise&lt;string&gt; | Promise对象,返回指定系统帐号的头像信息。 |
2086
2087**错误码:**
2088
2089| 错误码ID | 错误信息             |
2090| -------- | ------------------- |
2091| 12300001 | System service exception. |
2092| 12300002 | Invalid localId.    |
2093| 12300003 | Account not found. |
2094
2095**示例:** 获取ID为100的系统帐号的头像
2096
2097  ```js
2098  let accountManager = account_osAccount.getAccountManager();
2099  let localId = 100;
2100  try {
2101    accountManager.getOsAccountProfilePhoto(localId).then((photo) => {
2102      console.log('getOsAccountProfilePhoto: ' + photo);
2103    }).catch((err) => {
2104      console.log('getOsAccountProfilePhoto err: '  + JSON.stringify(err));
2105    });
2106  } catch (e) {
2107    console.log('getOsAccountProfilePhoto exception:' + JSON.stringify(e));
2108  }
2109  ```
2110
2111### setOsAccountProfilePhoto
2112
2113setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback&lt;void&gt;): void
2114
2115为指定系统帐号设置头像信息。使用callback异步回调。
2116
2117**系统接口:** 此接口为系统接口。
2118
2119**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2120
2121**系统能力:** SystemCapability.Account.OsAccount
2122
2123**参数:**
2124
2125| 参数名   | 类型                      | 必填 | 说明         |
2126| -------- | ------------------------- | ---- | ------------ |
2127| localId  | number                    | 是   | 系统帐号ID。 |
2128| photo    | string                    | 是   | 头像信息。   |
2129| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。  |
2130
2131**错误码:**
2132
2133| 错误码ID | 错误信息             |
2134| -------- | ------------------- |
2135| 12300001 | System service exception. |
2136| 12300002 | Invalid localId or photo.    |
2137| 12300003 | Account not found. |
2138| 12300008 | Restricted Account. |
2139
2140**示例:** 给ID为100的系统帐号设置头像
2141
2142  ```js
2143  let accountManager = account_osAccount.getAccountManager();
2144  let localId = 100;
2145  let photo = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
2146  'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
2147  'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
2148  '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
2149  try {
2150    accountManager.setOsAccountProfilePhoto(localId, photo, (err)=>{
2151      console.log('setOsAccountProfilePhoto err:' + JSON.stringify(err));
2152    });
2153  } catch (e) {
2154    console.log('setOsAccountProfilePhoto exception:' + JSON.stringify(e));
2155  }
2156  ```
2157
2158### setOsAccountProfilePhoto
2159
2160setOsAccountProfilePhoto(localId: number, photo: string): Promise&lt;void&gt;
2161
2162为指定系统帐号设置头像信息。使用Promise异步回调。
2163
2164**系统接口:** 此接口为系统接口。
2165
2166**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2167
2168**系统能力:** SystemCapability.Account.OsAccount
2169
2170**参数:**
2171
2172| 参数名  | 类型   | 必填 | 说明         |
2173| ------- | ------ | ---- | ------------ |
2174| localId | number | 是   | 系统帐号ID。 |
2175| photo   | string | 是   | 头像信息。   |
2176
2177**返回值:**
2178
2179| 类型                | 说明                                 |
2180| ------------------- | ------------------------------------ |
2181| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
2182
2183**错误码:**
2184
2185| 错误码ID | 错误信息             |
2186| -------- | ------------------- |
2187| 12300001 | System service exception. |
2188| 12300002 | Invalid localId or photo.    |
2189| 12300003 | Account not found. |
2190| 12300008 | Restricted Account. |
2191
2192**示例:** 给ID为100的系统帐号设置头像
2193
2194  ```js
2195  let accountManager = account_osAccount.getAccountManager();
2196  let localId = 100;
2197  let photo = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
2198  'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
2199  'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
2200  '+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
2201  try {
2202    accountManager.setOsAccountProfilePhoto(localId, photo).then(() => {
2203      console.log('setOsAccountProfilePhoto success');
2204    }).catch((err) => {
2205      console.log('setOsAccountProfilePhoto err: '  + JSON.stringify(err));
2206    });
2207  } catch (e) {
2208    console.log('setOsAccountProfilePhoto exception:' + JSON.stringify(e));
2209  }
2210  ```
2211
2212### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
2213
2214getOsAccountLocalIdForSerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void
2215
2216通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。
2217
2218**系统能力:** SystemCapability.Account.OsAccount
2219
2220**参数:**
2221
2222| 参数名       | 类型                        | 必填 | 说明                                                                           |
2223| ------------ | --------------------------- | ---- | ---------------------------------------------------------------------------- |
2224| serialNumber | number                      | 是   | 帐号SN码。                                                                    |
2225| callback     | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。 |
2226
2227**错误码:**
2228
2229| 错误码ID | 错误信息               |
2230| -------- | ------------------- |
2231| 12300001 | system service exception. |
2232| 12300002 | invalid serialNumber. |
2233| 12300003 | the account indicated by serialNumber dose not exist. |
2234
2235**示例:** 查询与SN码12345关联的系统帐号的ID
2236
2237  ```js
2238  let accountManager = account_osAccount.getAccountManager();
2239  let serialNumber = 12345;
2240  try {
2241    accountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err, localId)=>{
2242      console.log('ger localId err:' + JSON.stringify(err));
2243      console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
2244    });
2245  } catch (e) {
2246    console.log('ger localId exception:' + JSON.stringify(e));
2247  }
2248  ```
2249
2250### getOsAccountLocalIdForSerialNumber<sup>9+</sup>
2251
2252getOsAccountLocalIdForSerialNumber(serialNumber: number): Promise&lt;number&gt;
2253
2254通过SN码查询与其关联的系统帐号的帐号ID。使用Promise异步回调。
2255
2256**系统能力:** SystemCapability.Account.OsAccount
2257
2258**参数:**
2259
2260| 参数名       | 类型   | 必填 | 说明       |
2261| ------------ | ------ | ---- | ---------- |
2262| serialNumber | number | 是   | 帐号SN码。 |
2263
2264**返回值:**
2265
2266| 类型                  | 说明                                         |
2267| --------------------- | -------------------------------------------- |
2268| Promise&lt;number&gt; | Promise对象,返回与SN码关联的系统帐号的帐号ID。 |
2269
2270**错误码:**
2271
2272| 错误码ID | 错误信息               |
2273| -------- | ------------------- |
2274| 12300001 | system service exception. |
2275| 12300002 | invalid serialNumber. |
2276| 12300003 | the account indicated by serialNumber dose not exist. |
2277
2278**示例:** 查询与SN码12345关联的系统帐号的ID
2279
2280  ```js
2281  let accountManager = account_osAccount.getAccountManager();
2282  let serialNumber = 12345;
2283  try {
2284    accountManager.getOsAccountLocalIdForSerialNumber(serialNumber).then((localId) => {
2285      console.log('getOsAccountLocalIdForSerialNumber localId: ' + localId);
2286    }).catch((err) => {
2287      console.log('getOsAccountLocalIdForSerialNumber err: '  + JSON.stringify(err));
2288    });
2289  } catch (e) {
2290    console.log('getOsAccountLocalIdForSerialNumber exception: '  + JSON.stringify(e));
2291  }
2292  ```
2293
2294### getSerialNumberForOsAccountLocalId<sup>9+</sup>
2295
2296getSerialNumberForOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void
2297
2298通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。
2299
2300**系统能力:** SystemCapability.Account.OsAccount
2301
2302**参数:**
2303
2304| 参数名   | 类型                        | 必填 | 说明                                                                         |
2305| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
2306| localId  | number                      | 是   | 系统帐号ID。                                                                 |
2307| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果获取成功,err为null,data为与该系统帐号关联的SN码;否则为错误对象。 |
2308
2309**错误码:**
2310
2311| 错误码ID | 错误信息             |
2312| -------- | ------------------- |
2313| 12300001 | system service exception. |
2314| 12300002 | invalid localId. |
2315| 12300003 | the account indicated by localId dose not exist. |
2316
2317**示例:** 获取ID为100的系统帐号关联的SN码
2318
2319  ```js
2320  let accountManager = account_osAccount.getAccountManager();
2321  let localId = 100;
2322  try {
2323    accountManager.getSerialNumberForOsAccountLocalId(localId, (err, serialNumber)=>{
2324      console.log('ger serialNumber err:' + JSON.stringify(err));
2325      console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
2326    });
2327  } catch (e) {
2328    console.log('ger serialNumber exception:' + JSON.stringify(e));
2329  }
2330  ```
2331
2332### getSerialNumberForOsAccountLocalId<sup>9+</sup>
2333
2334getSerialNumberForOsAccountLocalId(localId: number): Promise&lt;number&gt;
2335
2336通过系统帐号ID获取与该系统帐号关联的SN码。使用Promise异步回调。
2337
2338**系统能力:** SystemCapability.Account.OsAccount
2339
2340**参数:**
2341
2342| 参数名  | 类型   | 必填 | 说明          |
2343| ------- | ------ | ---- | ----------- |
2344| localId | number | 是   | 系统帐号ID。 |
2345
2346**返回值:**
2347
2348| 类型                  | 说明                                    |
2349| :-------------------- | :------------------------------------- |
2350| Promise&lt;number&gt; | Promise对象,返回与该系统帐号关联的SN码。 |
2351
2352**错误码:**
2353
2354| 错误码ID | 错误信息             |
2355| -------- | ------------------- |
2356| 12300001 | system service exception. |
2357| 12300002 | invalid localId. |
2358| 12300003 | the account indicated by localId dose not exist. |
2359
2360**示例:** 获取ID为100的系统帐号关联的SN码
2361
2362  ```js
2363  let accountManager = account_osAccount.getAccountManager();
2364  let localId = 100;
2365  try {
2366    accountManager.getSerialNumberForOsAccountLocalId(localId).then((serialNumber) => {
2367      console.log('getSerialNumberForOsAccountLocalId serialNumber: ' + serialNumber);
2368    }).catch((err) => {
2369      console.log('getSerialNumberForOsAccountLocalId err: '  + JSON.stringify(err));
2370    });
2371  } catch (e) {
2372    console.log('getSerialNumberForOsAccountLocalId exception:' + JSON.stringify(e));
2373  }
2374  ```
2375
2376### on
2377
2378on(type: 'activate' | 'activating', name: string, callback: Callback&lt;number&gt;): void
2379
2380订阅系统帐号的激活完成与激活中的事件。使用callback异步回调。
2381
2382**系统接口:** 此接口为系统接口。
2383
2384**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2385
2386**系统能力:** SystemCapability.Account.OsAccount
2387
2388**参数:**
2389
2390| 参数名   | 类型                       | 必填 | 说明                                                         |
2391| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
2392| type     | 'activate' \| 'activating' | 是   | 订阅类型,activate表示订阅的是帐号已激活完成的事件,activating表示订阅的是帐号正在激活的事件。 |
2393| name     | string                     | 是   | 订阅名称,可自定义,要求非空且长度不超过1024字节。           |
2394| callback | Callback&lt;number&gt;     | 是   | 订阅系统帐号激活完成与激活中的事件回调,表示激活完成后或正在激活中的系统帐号ID。    |
2395
2396**错误码:**
2397
2398| 错误码ID | 错误信息       |
2399| -------- | ------------- |
2400| 12300001 | System service exception. |
2401| 12300002 | Invalid type or name. |
2402| 12300011 | Callback has been registered. |
2403
2404**示例:**
2405
2406  ```js
2407  let accountManager = account_osAccount.getAccountManager();
2408  function onCallback(receiveLocalId){
2409    console.log('receive localId:' + receiveLocalId);
2410  }
2411  try {
2412    accountManager.on('activating', 'osAccountOnOffNameA', onCallback);
2413  } catch (e) {
2414    console.log('receive localId exception:' + JSON.stringify(e));
2415  }
2416  ```
2417
2418### off
2419
2420off(type: 'activate' | 'activating', name: string, callback?: Callback&lt;number&gt;): void
2421
2422取消订阅系统帐号的激活完成与激活中的事件。使用callback异步回调。
2423
2424**系统接口:** 此接口为系统接口。
2425
2426**需要权限:** ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION
2427
2428**系统能力:** SystemCapability.Account.OsAccount
2429
2430**参数:**
2431
2432| 参数名   | 类型                       | 必填 | 说明                                                         |
2433| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
2434| type     | 'activate' \| 'activating' | 是   | 取消订阅类型,activate表示取消订阅帐号已激活完成的事件,activating取消订阅帐号正在激活的事件。 |
2435| name     | string                     | 是   | 订阅名称,可自定义,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。 |
2436| callback | Callback&lt;number&gt;     | 否   | 取消订阅系统帐号激活完成与激活中的事件回调,默认返回0。                      |
2437
2438**错误码:**
2439
2440| 错误码ID | 错误信息       |
2441| -------- | ------------- |
2442| 12300001 | System service exception. |
2443| 12300002 | Invalid type or name. |
2444| 12300012 | Callback has not been registered. |
2445
2446**示例:**
2447
2448  ```js
2449  let accountManager = account_osAccount.getAccountManager();
2450  function offCallback(){
2451    console.log('off enter')
2452  }
2453  try {
2454    accountManager.off('activating', 'osAccountOnOffNameA', offCallback);
2455  } catch (e) {
2456    console.log('off exception:' + JSON.stringify(e));
2457  }
2458  ```
2459
2460### getBundleIdForUid<sup>9+</sup>
2461
2462getBundleIdForUid(uid: number, callback: AsyncCallback&lt;number&gt;): void;
2463
2464通过uid查询对应的bundleId,使用callback异步回调。
2465
2466**系统接口:** 此接口为系统接口。
2467
2468**系统能力:** SystemCapability.Account.OsAccount
2469
2470**参数:**
2471
2472| 参数名   | 类型                       | 必填 | 说明                                                                        |
2473| -------- | --------------------------- | ---- | ------------------------------------------------------------------------ |
2474| uid      | number                      | 是   | 进程uid。                                                                 |
2475| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为与uid对应的bundleId;否则为错误对象。 |
2476
2477**错误码:**
2478
2479| 错误码ID | 错误信息       |
2480| -------- | ------------- |
2481| 12300001 | system service exception. |
2482| 12300002 | invalid uid. |
2483
2484**示例:**
2485
2486  ```js
2487  let accountManager = account_osAccount.getAccountManager();
2488  let testUid = 1000000;
2489  try {
2490    accountManager.getBundleIdForUid(testUid, (err, bundleId) => {
2491      console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
2492      console.info('getBundleIdForUid bundleId:' + JSON.stringify(bundleId));
2493    });
2494  } catch (e) {
2495    console.info('getBundleIdForUid exception:' + JSON.stringify(e));
2496  }
2497  ```
2498### getBundleIdForUid<sup>9+</sup>
2499
2500getBundleIdForUid(uid: number): Promise&lt;number&gt;;
2501
2502通过uid查询对应的bundleId,使用Promise异步回调。
2503
2504**系统接口:** 此接口为系统接口。
2505
2506**系统能力:** SystemCapability.Account.OsAccount
2507
2508**参数:**
2509
2510| 参数名  | 类型   | 必填 | 说明         |
2511| ------- | ------ | ---- | ------------ |
2512| uid     | number | 是   |  进程uid。 |
2513
2514**返回值:**
2515
2516| 类型                  | 说明                                  |
2517| --------------------- | ------------------------------------ |
2518| Promise&lt;number&gt; | Promise对象,返回与uid对应的bundleId。 |
2519
2520**错误码:**
2521
2522| 错误码ID | 错误信息       |
2523| -------- | ------------- |
2524| 12300001 | system service exception. |
2525| 12300002 | invalid uid. |
2526
2527**示例:**
2528
2529  ```js
2530  let accountManager = account_osAccount.getAccountManager();
2531  let testUid = 1000000;
2532  try {
2533    accountManager.getBundleIdForUid(testUid).then((result) => {
2534      console.info('getBundleIdForUid bundleId:' + JSON.stringify(result));
2535    }).catch((err)=>{
2536      console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
2537    });
2538  } catch (e) {
2539    console.info('getBundleIdForUid exception:' + JSON.stringify(e));
2540  }
2541  ```
2542
2543### isMainOsAccount<sup>9+</sup>
2544
2545isMainOsAccount(callback: AsyncCallback&lt;boolean&gt;): void;
2546
2547查询当前进程是否处于主用户,使用callback异步回调。
2548
2549**系统接口:** 此接口为系统接口。
2550
2551**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2552
2553**系统能力:** SystemCapability.Account.OsAccount
2554
2555**参数:**
2556
2557| 参数名   | 类型                          | 必填 | 说明                                                               |
2558| -------- | ---------------------------- | ---- | ----------------------------------------------------------------- |
2559| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数,返回true表示当前帐号为主帐号,返回false表示当前帐号非主帐号。 |
2560
2561**错误码:**
2562
2563| 错误码ID | 错误信息       |
2564| -------- | ------------- |
2565| 12300001 | System service exception. |
2566
2567**示例:**
2568
2569  ```js
2570  let accountManager = account_osAccount.getAccountManager();
2571  try {
2572    accountManager.isMainOsAccount((err,result)=>{
2573      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
2574      console.info('isMainOsAccount result:' + JSON.stringify(result));
2575    });
2576  } catch (e) {
2577    console.info('isMainOsAccount exception:' + JSON.stringify(e));
2578  }
2579  ```
2580### isMainOsAccount<sup>9+</sup>
2581
2582isMainOsAccount(): Promise&lt;boolean&gt;;
2583
2584查询当前进程是否处于主用户,使用Promise异步回调。
2585
2586**系统接口:** 此接口为系统接口。
2587
2588**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2589
2590**系统能力:** SystemCapability.Account.OsAccount
2591
2592**返回值:**
2593
2594| 类型                   | 说明                                                                  |
2595| ---------------------- | --------------------------------------------------------------------- |
2596| Promise&lt;boolean&gt; | Promise对象,返回true表示当前帐号为主帐号,返回false表示当前帐号非主帐号。 |
2597
2598**错误码:**
2599
2600| 错误码ID | 错误信息       |
2601| -------- | ------------- |
2602| 12300001 | System service exception. |
2603
2604**示例:**
2605
2606  ```js
2607  let accountManager = account_osAccount.getAccountManager();
2608  try {
2609    accountManager.isMainOsAccount().then((result) => {
2610      console.info('isMainOsAccount result:' + JSON.stringify(result));
2611    }).catch((err)=>{
2612      console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
2613    });
2614  } catch (e) {
2615    console.info('isMainOsAccount exception:' + JSON.stringify(e));
2616  }
2617  ```
2618### getOsAccountConstraintSourceTypes<sup>9+</sup>
2619
2620getOsAccountConstraintSourceTypes(localId: number, constraint: string, callback: AsyncCallback&lt;Array&lt;ConstraintSourceTypeInfo&gt;&gt;): void;
2621
2622查询指定系统帐号的指定约束来源信息,使用callback异步回调。
2623
2624**系统接口:** 此接口为系统接口。
2625
2626**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2627
2628**系统能力:** SystemCapability.Account.OsAccount
2629
2630**参数:**
2631
2632| 参数名   | 类型                       | 必填 | 说明                                                         |
2633| -------- | -------------------------- | ---- | ------------------------------------------------------------ |
2634| localId     | number | 是   |  要查询的系统帐号ID |
2635| constraint     | string | 是   |  要查询的[约束](#系统帐号约束列表)名称 |
2636| callback | AsyncCallback&lt;Array&lt;[ConstraintSourceTypeInfo](#constraintsourcetypeinfo)&gt;&gt;     | 是   | 回调函数。如果成功,err为null,data为指定系统帐号的指定[约束](#系统帐号约束列表)来源信息;否则为错误对象。                      |
2637
2638**错误码:**
2639
2640| 错误码ID | 错误信息       |
2641| -------- | ------------- |
2642| 12300001 | system service exception. |
2643| 12300002 | invalid name or constraint. |
2644| 12300003 | the account indicated by localId dose not exist. |
2645
2646**示例:**
2647
2648  ```js
2649  let accountManager = account_osAccount.getAccountManager();
2650  try {
2651    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi',(err,sourceTypeInfos)=>{
2652      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
2653      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(sourceTypeInfos));
2654    });
2655  } catch (e) {
2656    console.info('getOsAccountConstraintSourceTypes exception:' + JSON.stringify(e));
2657  }
2658  ```
2659
2660### getOsAccountConstraintSourceTypes<sup>9+</sup>
2661
2662getOsAccountConstraintSourceTypes(localId: number, constraint: string): Promise&lt;Array&lt;ConstraintSourceTypeInfo&gt;&gt;;
2663
2664查询指定系统帐号的指定约束来源信息,使用Promise异步回调。
2665
2666**系统接口:** 此接口为系统接口。
2667
2668**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2669
2670**系统能力:** SystemCapability.Account.OsAccount
2671
2672**参数:**
2673
2674| 参数名  | 类型   | 必填 | 说明         |
2675| ------- | ------ | ---- | ------------ |
2676| localId     | number | 是   |  要查询的系统帐号ID |
2677| constraint     | string | 是   |  要查询的[约束](#系统帐号约束列表)名称 |
2678
2679**返回值:**
2680
2681| 类型                  | 说明                                                         |
2682| --------------------- | ------------------------------------------------------------ |
2683| Promise&lt;Array&lt;[ConstraintSourceTypeInfo](#constraintsourcetypeinfo)&gt;&gt; | Promise对象,返回指定系统帐号的指定[约束](#系统帐号约束列表)来源信息。 |
2684
2685**错误码:**
2686
2687| 错误码ID | 错误信息       |
2688| -------- | ------------- |
2689| 12300001 | system service exception. |
2690| 12300002 | invalid name or constraint. |
2691| 12300003 | the account indicated by localId dose not exist. |
2692
2693**示例:**
2694
2695  ```js
2696  let accountManager = account_osAccount.getAccountManager();
2697  try {
2698    accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi').then((result) => {
2699      console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(result));
2700    }).catch((err)=>{
2701      console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
2702    });
2703  } catch (e) {
2704    console.info('getOsAccountConstraintSourceTypes exception:' + JSON.stringify(e));
2705  }
2706  ```
2707
2708### isMultiOsAccountEnable<sup>(deprecated)</sup>
2709
2710isMultiOsAccountEnable(callback: AsyncCallback&lt;boolean&gt;): void
2711
2712判断是否支持多系统帐号。使用callback异步回调。
2713
2714> **说明:**
2715>
2716> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9)。
2717
2718**系统能力:** SystemCapability.Account.OsAccount
2719
2720**参数:**
2721
2722| 参数名   | 类型                         | 必填 | 说明                                                     |
2723| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
2724| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示支持多系统帐号;返回false表示不支持。 |
2725
2726**示例:**
2727
2728  ```js
2729  let accountManager = account_osAccount.getAccountManager();
2730  accountManager.isMultiOsAccountEnable((err, isEnabled) => {
2731    if (err) {
2732      console.log("isMultiOsAccountEnable failed, error: " + JSON.stringify(err));
2733    } else {
2734    console.log("isMultiOsAccountEnable successfully, isEnabled: " + isEnabled);
2735    }
2736  });
2737  ```
2738
2739### isMultiOsAccountEnable<sup>(deprecated)</sup>
2740
2741isMultiOsAccountEnable(): Promise&lt;boolean&gt;
2742
2743判断是否支持多系统帐号。使用Promise异步回调。
2744
2745> **说明:**
2746>
2747> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkMultiOsAccountEnabled](#checkmultiosaccountenabled9-1)。
2748
2749**系统能力:** SystemCapability.Account.OsAccount
2750
2751**返回值:**
2752
2753| 类型                   | 说明                                                       |
2754| :--------------------- | :--------------------------------------------------------- |
2755| Promise&lt;boolean&gt; | Promise对象。返回true表示支持多系统帐号;返回false表示不支持。 |
2756
2757**示例:**
2758
2759  ```js
2760  let accountManager = account_osAccount.getAccountManager();
2761  accountManager.isMultiOsAccountEnable().then((isEnabled) => {
2762    console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
2763  }).catch((err) => {
2764    console.log('isMultiOsAccountEnable failed, error: '  + JSON.stringify(err));
2765  });
2766  ```
2767
2768
2769### isOsAccountActived<sup>(deprecated)</sup>
2770
2771isOsAccountActived(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
2772
2773判断指定系统帐号是否处于激活状态。使用callback异步回调。
2774
2775> **说明:**
2776>
2777> 从 API version 7开始支持从API version 9开始废弃, 建议使用[checkOsAccountActivated](#checkosaccountactivated9)。
2778
2779**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
2780
2781**系统能力:** SystemCapability.Account.OsAccount
2782
2783**参数:**
2784
2785| 参数名   | 类型                         | 必填 | 说明                                                     |
2786| -------- | ---------------------------- | ---- | ------------------------------------------------------ |
2787| localId  | number                       | 是   | 系统帐号ID。                                            |
2788| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示帐号已激活;返回false表示帐号未激活。 |
2789
2790**示例:** 判断ID为100的系统帐号是否处于激活状态
2791
2792  ```js
2793  let accountManager = account_osAccount.getAccountManager();
2794  let localId = 100;
2795  accountManager.isOsAccountActived(localId, (err, isActived) => {
2796    if (err) {
2797      console.log('isOsAccountActived failed, err:' + JSON.stringify(err));
2798    } else {
2799      console.log('isOsAccountActived successfully, isActived:' + isActived);
2800    }
2801  });
2802  ```
2803
2804### isOsAccountActived<sup>(deprecated)</sup>
2805
2806isOsAccountActived(localId: number): Promise&lt;boolean&gt;
2807
2808判断指定系统帐号是否处于激活状态。使用Promise异步回调。
2809
2810> **说明:**
2811>
2812> 从 API version 7开始支持从API version 9开始废弃, 建议使用[checkOsAccountActivated](#checkosaccountactivated9-1)。
2813
2814**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
2815
2816**系统能力:** SystemCapability.Account.OsAccount
2817
2818**参数:**
2819
2820| 参数名  | 类型   | 必填 | 说明                               |
2821| ------- | ------ | ---- | --------------------------------- |
2822| localId | number | 是   | 系统帐号ID。 |
2823
2824**返回值:**
2825
2826| 类型                   | 说明                                                        |
2827| --------------------- | ----------------------------------------------------------- |
2828| Promise&lt;boolean&gt; | Promise对象。返回true表示帐号已激活;返回false表示帐号未激活。 |
2829
2830**示例:** 判断ID为100的系统帐号是否处于激活状态
2831
2832  ```js
2833  let accountManager = account_osAccount.getAccountManager();
2834  let localId = 100;
2835  accountManager.isOsAccountActived(localId).then((isActived) => {
2836    console.log('isOsAccountActived successfully, isActived: ' + isActived);
2837  }).catch((err) => {
2838    console.log('isOsAccountActived failed, error: '  + JSON.stringify(err));
2839  });
2840  ```
2841
2842### isOsAccountConstraintEnable<sup>(deprecated)</sup>
2843
2844isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback&lt;boolean&gt;): void
2845
2846判断指定系统帐号是否具有指定约束。使用callback异步回调。
2847
2848> **说明:**
2849>
2850> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountConstraintEnabled](#checkosaccountconstraintenabled9)。
2851
2852**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2853
2854**系统能力:** SystemCapability.Account.OsAccount
2855
2856**参数:**
2857
2858| 参数名     | 类型                         | 必填 | 说明                                                                |
2859| ---------- | ---------------------------- | ---- | ----------------------------------------------------------------- |
2860| localId    | number                       | 是   | 系统帐号ID。                                 |
2861| constraint | string                       | 是   | 指定的[约束](#系统帐号约束列表)名称。                                |
2862| callback   | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
2863
2864**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
2865
2866  ```js
2867  let accountManager = account_osAccount.getAccountManager();
2868  let localId = 100;
2869  let constraint = "constraint.wifi";
2870  accountManager.isOsAccountConstraintEnable(localId, constraint, (err, isEnabled) => {
2871    if (err) {
2872      console.log("isOsAccountConstraintEnable failed, error:" + JSON.stringify(err));
2873    } else {
2874      console.log("isOsAccountConstraintEnable successfully, isEnabled:" + isEnabled);
2875    }
2876  });
2877  ```
2878
2879### isOsAccountConstraintEnable<sup>(deprecated)</sup>
2880
2881isOsAccountConstraintEnable(localId: number, constraint: string): Promise&lt;boolean&gt;
2882
2883判断指定系统帐号是否具有指定约束。使用Promise异步回调。
2884
2885> **说明:**
2886>
2887> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountConstraintEnabled](#checkosaccountconstraintenabled9-1)。
2888
2889**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
2890
2891**系统能力:** SystemCapability.Account.OsAccount
2892
2893**参数:**
2894
2895| 参数名     | 类型   | 必填 | 说明                                 |
2896| ---------- | ------ | ---- | ---------------------------------- |
2897| localId    | number | 是   | 系统帐号ID。  |
2898| constraint | string | 是   | 指定的[约束](#系统帐号约束列表)名称。 |
2899
2900**返回值:**
2901
2902| 类型                   | 说明                                                                   |
2903| ---------------------- | --------------------------------------------------------------------- |
2904| Promise&lt;boolean&gt; | Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。 |
2905
2906**示例:** 判断ID为100的系统帐号是否有禁止使用Wi-Fi的约束
2907
2908  ```js
2909  let accountManager = account_osAccount.getAccountManager();
2910  let localId = 100;
2911  let constraint = "constraint.wifi";
2912  accountManager.isOsAccountConstraintEnable(localId, constraint).then((isEnabled) => {
2913    console.log("isOsAccountConstraintEnable successfully, isEnabled: " + isEnabled);
2914  }).catch((err) => {
2915    console.log("isOsAccountConstraintEnable err: "  + JSON.stringify(err));
2916  });
2917  ```
2918
2919### isTestOsAccount<sup>(deprecated)</sup>
2920
2921isTestOsAccount(callback: AsyncCallback&lt;boolean&gt;): void
2922
2923检查当前系统帐号是否为测试帐号。使用callback异步回调。
2924
2925> **说明:**
2926>
2927> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9)。
2928
2929**系统能力:** SystemCapability.Account.OsAccount
2930
2931**参数:**
2932
2933| 参数名   | 类型                         | 必填 | 说明                                                                   |
2934| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- |
2935| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
2936
2937**示例:**
2938
2939  ```js
2940  let accountManager = account_osAccount.getAccountManager();
2941  accountManager.isTestOsAccount((err, isTestable) => {
2942    if (err) {
2943      console.log("isTestOsAccount failed, error: " + JSON.stringify(err));
2944    } else {
2945      console.log("isTestOsAccount successfully, isTestable: " + isTestable);
2946    }
2947  });
2948  ```
2949
2950### isTestOsAccount<sup>(deprecated)</sup>
2951
2952isTestOsAccount(): Promise&lt;boolean&gt;
2953
2954检查当前系统帐号是否为测试帐号。使用Promise异步回调。
2955
2956> **说明:**
2957>
2958> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountTestable](#checkosaccounttestable9-1)。
2959
2960**系统能力:** SystemCapability.Account.OsAccount
2961
2962**返回值:**
2963
2964| 类型                   | 说明                                                                      |
2965| ---------------------- | ------------------------------------------------------------------------ |
2966| Promise&lt;boolean&gt; | Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。 |
2967
2968**示例:**
2969
2970  ```js
2971  let accountManager = account_osAccount.getAccountManager();
2972  accountManager.isTestOsAccount().then((isTestable) => {
2973      console.log("isTestOsAccount successfully, isTestable: " + isTestable);
2974  }).catch((err) => {
2975      console.log("isTestOsAccount failed, error: " + JSON.stringify(err));
2976  });
2977  ```
2978
2979### isOsAccountVerified<sup>(deprecated)</sup>
2980
2981isOsAccountVerified(callback: AsyncCallback&lt;boolean&gt;): void
2982
2983检查当前系统帐号是否已验证。使用callback异步回调。
2984
2985> **说明:**
2986>
2987> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9)。
2988
2989**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
2990
2991**系统能力:** SystemCapability.Account.OsAccount
2992
2993**参数:**
2994
2995| 参数名   | 类型                         | 必填 | 说明                                                            |
2996| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
2997| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
2998
2999**示例:**
3000
3001  ```js
3002  let accountManager = account_osAccount.getAccountManager();
3003  accountManager.isOsAccountVerified((err, isVerified) => {
3004    if (err) {
3005      console.log("isOsAccountVerified failed, error: " + JSON.stringify(err));
3006    } else {
3007      console.log("isOsAccountVerified successfully, isVerified: " + isVerified);
3008    }
3009  });
3010  ```
3011
3012### isOsAccountVerified<sup>(deprecated)</sup>
3013
3014isOsAccountVerified(localId: number, callback: AsyncCallback&lt;boolean&gt;): void
3015
3016检查指定系统帐号是否已验证。使用callback异步回调。
3017
3018> **说明:**
3019>
3020> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-1)。
3021
3022**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
3023
3024**系统能力:** SystemCapability.Account.OsAccount
3025
3026**参数:**
3027
3028| 参数名   | 类型                         | 必填 | 说明                                                            |
3029| -------- | ---------------------------- | ---- | ------------------------------------------------------------- |
3030| localId  | number                       | 是   | 系统帐号ID。                             |
3031| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3032
3033**示例:**
3034
3035  ```js
3036  let accountManager = account_osAccount.getAccountManager();
3037  let localId = 100;
3038  accountManager.isOsAccountVerified(localId, (err, isVerified) => {
3039    if (err) {
3040      console.log("isOsAccountVerified failed, error: " + JSON.stringify(err));
3041    } else {
3042      console.log("isOsAccountVerified successfully, isVerified: " + isVerified);
3043    }
3044  });
3045  ```
3046
3047### isOsAccountVerified<sup>(deprecated)</sup>
3048
3049isOsAccountVerified(localId?: number): Promise&lt;boolean&gt;
3050
3051检查指定系统帐号是否已验证。使用Promise异步回调。
3052
3053> **说明:**
3054>
3055> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-2)。
3056
3057**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTSohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS
3058
3059**系统能力:** SystemCapability.Account.OsAccount
3060
3061**参数:**
3062
3063| 参数名  | 类型   | 必填 | 说明                                                              |
3064| ------- | ------ | ---- | ---------------------------------------------------------------- |
3065| localId | number | 否   | 系统帐号ID。不填则检查当前系统帐号是否已验证。 |
3066
3067**返回值:**
3068
3069| 类型                   | 说明                                                               |
3070| ---------------------- | ----------------------------------------------------------------- |
3071| Promise&lt;boolean&gt; | Promise对象。返回true表示指定帐号已验证;返回false表示指定帐号未验证。 |
3072
3073**示例:**
3074
3075  ```js
3076  let accountManager = account_osAccount.getAccountManager();
3077  accountManager.isOsAccountVerified(localId).then((isVerified) => {
3078    console.log("isOsAccountVerified successfully, isVerified: " + isVerified);
3079  }).catch((err) => {
3080    console.log("isOsAccountVerified failed, error: " + JSON.stringify(err));
3081  });
3082  ```
3083
3084### getCreatedOsAccountsCount<sup>(deprecated)</sup>
3085
3086getCreatedOsAccountsCount(callback: AsyncCallback&lt;number&gt;): void
3087
3088获取已创建的系统帐号数量。使用callback异步回调。
3089
3090> **说明:**
3091>
3092> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountCount](#getosaccountcount9)。
3093
3094**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3095
3096**系统能力:** SystemCapability.Account.OsAccount
3097
3098**参数:**
3099
3100| 参数名   | 类型                        | 必填 | 说明                                                                         |
3101| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- |
3102| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为已创建的系统帐号的数量;否则为错误对象。 |
3103
3104**示例:**
3105
3106  ```js
3107  let accountManager = account_osAccount.getAccountManager();
3108  accountManager.getCreatedOsAccountsCount((err, count)=>{
3109    if (err) {
3110      console.log("getCreatedOsAccountsCount failed, error: " + JSON.stringify(err));
3111    } else {
3112      console.log("getCreatedOsAccountsCount successfully, count: " + count);
3113    }
3114  });
3115  ```
3116
3117### getCreatedOsAccountsCount<sup>(deprecated)</sup>
3118
3119getCreatedOsAccountsCount(): Promise&lt;number&gt;
3120
3121获取已创建的系统帐号数量,使用Promise异步回调。
3122
3123> **说明:**
3124>
3125> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountCount](#getosaccountcount9-1)。
3126
3127**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3128
3129**系统能力:** SystemCapability.Account.OsAccount
3130
3131**返回值:**
3132
3133| 类型                  | 说明                                    |
3134| --------------------- | -------------------------------------- |
3135| Promise&lt;number&gt; | Promise对象,返回已创建的系统帐号的数量。 |
3136
3137**示例:**
3138
3139  ```js
3140  let accountManager = account_osAccount.getAccountManager();
3141  accountManager.getCreatedOsAccountsCount().then((count) => {
3142    console.log("getCreatedOsAccountsCount successfully, count: " + count);
3143  }).catch((err) => {
3144    console.log("getCreatedOsAccountsCount failed, error: "  + JSON.stringify(err));
3145  });
3146  ```
3147
3148### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
3149
3150getOsAccountLocalIdFromProcess(callback: AsyncCallback&lt;number&gt;): void
3151
3152获取当前进程所属的系统帐号ID,使用callback异步回调。
3153
3154> **说明:**
3155>
3156> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9)。
3157
3158**系统能力:** SystemCapability.Account.OsAccount
3159
3160**参数:**
3161
3162| 参数名   | 类型                        | 必填 | 说明                                                                           |
3163| -------- | --------------------------- | ---- | ---------------------------------------------------------------------------- |
3164| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。当获取成功时,err为null,data为当前进程所属的系统帐号ID;否则为错误对象。 |
3165
3166**示例:**
3167
3168  ```js
3169  let accountManager = account_osAccount.getAccountManager();
3170  accountManager.getOsAccountLocalIdFromProcess((err, localId) => {
3171    if (err) {
3172      console.log("getOsAccountLocalIdFromProcess failed, error: " + JSON.stringify(err));
3173    } else {
3174      console.log("getOsAccountLocalIdFromProcess successfully, localId: " + localId);
3175    }
3176  });
3177  ```
3178
3179### getOsAccountLocalIdFromProcess<sup>(deprecated)</sup>
3180
3181getOsAccountLocalIdFromProcess(): Promise&lt;number&gt;
3182
3183获取当前进程所属的系统帐号ID,使用Promise异步回调。
3184
3185> **说明:**
3186>
3187> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalId](#getosaccountlocalid9-1)。
3188
3189**系统能力:** SystemCapability.Account.OsAccount
3190
3191**返回值:**
3192
3193| 类型                  | 说明                                      |
3194| :-------------------- | :--------------------------------------- |
3195| Promise&lt;number&gt; | Promise对象,返回当前进程所属的系统帐号ID。 |
3196
3197**示例:**
3198
3199  ```js
3200  let accountManager = account_osAccount.getAccountManager();
3201  accountManager.getOsAccountLocalIdFromProcess().then((localId) => {
3202    console.log('getOsAccountLocalIdFromProcess successfully, localId: ' + localId);
3203  }).catch((err) => {
3204    console.log('getOsAccountLocalIdFromProcess failed, error: '  + JSON.stringify(err));
3205  });
3206  ```
3207
3208### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
3209
3210getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback&lt;number&gt;): void
3211
3212根据uid查询对应的系统帐号ID。使用callback异步回调。
3213
3214> **说明:**
3215>
3216> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9)。
3217
3218**系统能力:** SystemCapability.Account.OsAccount
3219
3220**参数:**
3221
3222| 参数名   | 类型                        | 必填 | 说明                                                                    |
3223| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
3224| uid      | number                      | 是   | 进程uid。                                                              |
3225| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为对应的系统帐号ID;否则为错误对象。 |
3226
3227**示例:** 查询值为12345678的uid所属的系统帐号ID
3228
3229  ```js
3230  let accountManager = account_osAccount.getAccountManager();
3231  let uid = 12345678;
3232  accountManager.getOsAccountLocalIdFromUid(uid, (err, localId) => {
3233    if (err) {
3234      console.log("getOsAccountLocalIdFromUid failed, error: " + JSON.stringify(err));
3235    } else {
3236      console.log("getOsAccountLocalIdFromUid successfully, localId: " + localId);
3237    }
3238  });
3239  ```
3240
3241### getOsAccountLocalIdFromUid<sup>(deprecated)</sup>
3242
3243getOsAccountLocalIdFromUid(uid: number): Promise&lt;number&gt;
3244
3245根据uid查询对应的系统帐号ID,使用Promise异步回调。
3246
3247> **说明:**
3248>
3249> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForUid](#getosaccountlocalidforuid9-1)。
3250
3251**系统能力:** SystemCapability.Account.OsAccount
3252
3253**参数:**
3254
3255| 参数名 | 类型   | 必填 | 说明      |
3256| ------ | ------ | ---- | --------- |
3257| uid    | number | 是   | 进程uid。 |
3258
3259**返回值:**
3260
3261| 类型                  | 说明                                  |
3262| :-------------------- | :----------------------------------- |
3263| Promise&lt;number&gt; | Promise对象,返回uid对应的系统帐号ID。 |
3264
3265**示例:** 查询值为12345678的uid所属的系统帐号ID
3266
3267  ```js
3268  let accountManager = account_osAccount.getAccountManager();
3269  let uid = 12345678;
3270  accountManager.getOsAccountLocalIdFromUid(uid).then((localId) => {
3271    console.log("getOsAccountLocalIdFromUid successfully, localId: " + localId);
3272  }).catch((err) => {
3273    console.log("getOsAccountLocalIdFromUid failed, error: "  + JSON.stringify(err));
3274  });
3275  ```
3276
3277### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3278
3279getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback&lt;number&gt;): void
3280
3281根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用callback异步回调。
3282
3283> **说明:**
3284>
3285> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9)。
3286
3287**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3288
3289**系统能力:** SystemCapability.Account.OsAccount
3290
3291**参数:**
3292
3293| 参数名     | 类型                                    | 必填 | 说明                                                                         |
3294| ---------- | --------------------------------------- | ---- | --------------------------------------------------------------------------- |
3295| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。                                                                |
3296| callback   | AsyncCallback&lt;number&gt;             | 是   | 回调函数,如果获取成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。 |
3297
3298**示例:**
3299
3300  ```js
3301  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3302  let accountManager = account_osAccount.getAccountManager();
3303  accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err, localId) => {
3304    if (err) {
3305      console.log("getOsAccountLocalIdFromDomain failed, error: " + JSON.stringify(err));
3306    } else {
3307      console.log("getOsAccountLocalIdFromDomain successfully, localId: " + localId);
3308    }
3309  });
3310  ```
3311
3312### getOsAccountLocalIdFromDomain<sup>(deprecated)</sup>
3313
3314getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise&lt;number&gt;
3315
3316根据域帐号信息,获取与其关联的系统帐号的帐号ID。使用Promise异步回调。
3317
3318> **说明:**
3319>
3320> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForDomain](#getosaccountlocalidfordomain9-1)。
3321
3322**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3323
3324**系统能力:** SystemCapability.Account.OsAccount
3325
3326**参数:**
3327
3328| 参数名     | 类型                                    | 必填 | 说明         |
3329| ---------- | --------------------------------------- | ---- | ------------ |
3330| domainInfo | [DomainAccountInfo](#domainaccountinfo8) | 是   | 域帐号信息。 |
3331
3332**返回值:**
3333
3334| 类型                  | 说明                                    |
3335| :-------------------- | :------------------------------------- |
3336| Promise&lt;number&gt; | Promise对象,返回域帐号关联的系统帐号ID。 |
3337
3338**示例:**
3339
3340  ```js
3341  let accountManager = account_osAccount.getAccountManager();
3342  let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
3343  accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((localId) => {
3344    console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
3345  }).catch((err) => {
3346    console.log('getOsAccountLocalIdFromDomain failed, error: '  + JSON.stringify(err));
3347  });
3348  ```
3349
3350### getOsAccountAllConstraints<sup>(deprecated)</sup>
3351
3352getOsAccountAllConstraints(localId: number, callback: AsyncCallback&lt;Array&lt;string&gt;&gt;): void
3353
3354获取指定系统帐号的全部约束。使用callback异步回调。
3355
3356> **说明:**
3357>
3358> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9)。
3359
3360**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3361
3362**系统能力:** SystemCapability.Account.OsAccount
3363
3364**参数:**
3365
3366| 参数名   | 类型                                     | 必填 | 说明                                                                                             |
3367| -------- | ---------------------------------------- | ---- | ---------------------------------------------------------------------------------------------- |
3368| localId  | number                                   | 是   | 系统帐号ID。                                                                                    |
3369| callback | AsyncCallback&lt;Array&lt;string&gt;&gt; | 是   | 回调函数。如果获取成功,err为null,data为指定系统帐号的全部[约束](#系统帐号约束列表);否则为错误对象。 |
3370
3371**示例:** 获取ID为100的系统帐号的全部约束
3372
3373  ```js
3374  let accountManager = account_osAccount.getAccountManager();
3375  let localId = 100;
3376  accountManager.getOsAccountAllConstraints(localId, (err, constraints)=>{
3377    console.log('getOsAccountAllConstraints err:' + JSON.stringify(err));
3378    console.log('getOsAccountAllConstraints:' + JSON.stringify(constraints));
3379  });
3380  ```
3381
3382### getOsAccountAllConstraints<sup>(deprecated)</sup>
3383
3384getOsAccountAllConstraints(localId: number): Promise&lt;Array&lt;string&gt;&gt;
3385
3386> **说明:**
3387>
3388> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountConstraints](#getosaccountconstraints9-1)。
3389
3390获取指定系统帐号的全部约束。使用Promise异步回调。
3391
3392**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3393
3394**系统能力:** SystemCapability.Account.OsAccount
3395
3396**参数:**
3397
3398| 参数名  | 类型   | 必填 | 说明         |
3399| ------- | ------ | ---- | ------------ |
3400| localId | number | 是   | 系统帐号ID。 |
3401
3402**返回值:**
3403
3404| 类型                               | 说明                                                         |
3405| :--------------------------------- | :----------------------------------------------------------- |
3406| Promise&lt;Array&lt;string&gt;&gt; | Promise对象,返回指定系统帐号的全部[约束](#系统帐号约束列表)。 |
3407
3408**示例:** 获取ID为100的系统帐号的全部约束
3409
3410  ```js
3411  let accountManager = account_osAccount.getAccountManager();
3412  let localId = 100;
3413  accountManager.getOsAccountAllConstraints(localId).then((constraints) => {
3414    console.log('getOsAccountAllConstraints, constraints: ' + constraints);
3415  }).catch((err) => {
3416    console.log('getOsAccountAllConstraints err: '  + JSON.stringify(err));
3417  });
3418  ```
3419
3420### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3421
3422queryActivatedOsAccountIds(callback: AsyncCallback&lt;Array&lt;number&gt;&gt;): void
3423
3424查询当前处于激活状态的系统帐号的ID列表。使用callback异步回调。
3425
3426> **说明:**
3427>
3428> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9)。
3429
3430**系统能力:** SystemCapability.Account.OsAccount
3431
3432**参数:**
3433
3434| 参数名   | 类型                                     | 必填 | 说明                                                   |
3435| -------- | ---------------------------------------- | ---- | ------------------------------------------------------ |
3436| callback | AsyncCallback&lt;Array&lt;number&gt;&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前处于激活状态的系统帐号的ID列表;否则为错误对象。 |
3437
3438**示例:**
3439
3440  ```js
3441  let accountManager = account_osAccount.getAccountManager();
3442  accountManager.queryActivatedOsAccountIds((err, idArray)=>{
3443    console.log('queryActivatedOsAccountIds err:' + JSON.stringify(err));
3444    console.log('queryActivatedOsAccountIds idArray length:' + idArray.length);
3445    for(let i=0;i<idArray.length;i++) {
3446      console.info('activated os account id: ' + idArray[i]);
3447    }
3448  });
3449  ```
3450
3451### queryActivatedOsAccountIds<sup>(deprecated)</sup>
3452
3453queryActivatedOsAccountIds(): Promise&lt;Array&lt;number&gt;&gt;
3454
3455> **说明:**
3456>
3457> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getActivatedOsAccountLocalIds](#getactivatedosaccountlocalids9-1)。
3458
3459查询当前处于激活状态的系统帐号的ID列表。使用Promise异步回调。
3460
3461**系统能力:** SystemCapability.Account.OsAccount
3462
3463**返回值:**
3464
3465| 类型                               | 说明                                               |
3466| ---------------------------------- | ------------------------------------------------- |
3467| Promise&lt;Array&lt;number&gt;&gt; | Promise对象,返回当前处于激活状态的系统帐号的ID列表。 |
3468
3469**示例:**
3470
3471  ```js
3472  let accountManager = account_osAccount.getAccountManager();
3473  accountManager.queryActivatedOsAccountIds().then((idArray) => {
3474    console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
3475  }).catch((err) => {
3476    console.log('queryActivatedOsAccountIds err: '  + JSON.stringify(err));
3477  });
3478  ```
3479
3480### queryCurrentOsAccount<sup>(deprecated)</sup>
3481
3482queryCurrentOsAccount(callback: AsyncCallback&lt;OsAccountInfo&gt;): void
3483
3484查询当前进程所属的系统帐号的信息。使用callback异步回调。
3485
3486> **说明:**
3487>
3488> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9)。
3489
3490**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3491
3492**系统能力:** SystemCapability.Account.OsAccount
3493
3494**参数:**
3495
3496| 参数名   | 类型                                                 | 必填 | 说明                                           |
3497| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------- |
3498| callback | AsyncCallback&lt;[OsAccountInfo](#osaccountinfo)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号信息;否则为错误对象。 |
3499
3500**示例:**
3501
3502  ```js
3503  let accountManager = account_osAccount.getAccountManager();
3504  accountManager.queryCurrentOsAccount((err, curAccountInfo)=>{
3505    console.log('queryCurrentOsAccount err:' + JSON.stringify(err));
3506    console.log('queryCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
3507  });
3508  ```
3509
3510### queryCurrentOsAccount<sup>(deprecated)</sup>
3511
3512queryCurrentOsAccount(): Promise&lt;OsAccountInfo&gt;
3513
3514查询当前进程所属的系统帐号的信息。使用Promise异步回调。
3515
3516> **说明:**
3517>
3518> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getCurrentOsAccount](#getcurrentosaccount9-1)。
3519
3520**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
3521
3522**系统能力:** SystemCapability.Account.OsAccount
3523
3524**返回值:**
3525
3526| 类型                                           | 说明                                       |
3527| ---------------------------------------------- | ------------------------------------------ |
3528| Promise&lt;[OsAccountInfo](#osaccountinfo)&gt; | Promise对象,返回当前进程所属的系统帐号信息。 |
3529
3530**示例:**
3531
3532  ```js
3533  let accountManager = account_osAccount.getAccountManager();
3534  accountManager.queryCurrentOsAccount().then((accountInfo) => {
3535    console.log('queryCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
3536  }).catch((err) => {
3537    console.log('queryCurrentOsAccount err: '  + JSON.stringify(err));
3538  });
3539  ```
3540
3541### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
3542
3543getOsAccountTypeFromProcess(callback: AsyncCallback&lt;OsAccountType&gt;): void
3544
3545查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。
3546
3547> **说明:**
3548>
3549> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9)。
3550
3551**系统能力:** SystemCapability.Account.OsAccount
3552
3553**参数:**
3554
3555| 参数名   | 类型                                                 | 必填 | 说明                                                 |
3556| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------- |
3557| callback | AsyncCallback&lt;[OsAccountType](#osaccounttype)&gt; | 是   | 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号的帐号类型;否则为错误对象。 |
3558
3559**示例:**
3560
3561  ```js
3562  let accountManager = account_osAccount.getAccountManager();
3563  accountManager.getOsAccountTypeFromProcess((err, accountType) => {
3564    console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
3565    console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
3566  });
3567  ```
3568
3569### getOsAccountTypeFromProcess<sup>(deprecated)</sup>
3570
3571getOsAccountTypeFromProcess(): Promise&lt;OsAccountType&gt;
3572
3573查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。
3574
3575> **说明:**
3576>
3577> 从 API version 7开始支持,从API version 9开始废弃。建议使用[getOsAccountType](#getosaccounttype9-1)。
3578
3579**系统能力:** SystemCapability.Account.OsAccount
3580
3581**返回值:**
3582
3583| 类型                                           | 说明                                            |
3584| ---------------------------------------------- | ----------------------------------------------- |
3585| Promise&lt;[OsAccountType](#osaccounttype)&gt; | Promise对象,返回当前进程所属的系统帐号的帐号类型。 |
3586
3587**示例:**
3588
3589  ```js
3590  let accountManager = account_osAccount.getAccountManager();
3591  accountManager.getOsAccountTypeFromProcess().then((accountType) => {
3592    console.log('getOsAccountTypeFromProcess, accountType: ' + accountType);
3593  }).catch((err) => {
3594    console.log('getOsAccountTypeFromProcess err: '  + JSON.stringify(err));
3595  });
3596  ```
3597
3598### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3599
3600getDistributedVirtualDeviceId(callback: AsyncCallback&lt;string&gt;): void
3601
3602获取分布式虚拟设备ID。使用callback异步回调。
3603
3604> **说明:**
3605>
3606> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9)。
3607
3608**需要权限:** ohos.permission.DISTRIBUTED_DATASYNCohos.permission.MANAGE_LOCAL_ACCOUNTS
3609
3610**系统能力:** SystemCapability.Account.OsAccount
3611
3612**参数:**
3613
3614| 参数名   | 类型                        | 必填 | 说明                                                                    |
3615| -------- | --------------------------- | ---- | --------------------------------------------------------------------- |
3616| callback | AsyncCallback&lt;string&gt; | 是   | 回调函数。如果获取成功,err为null,data为分布式虚拟设备ID;否则为错误对象。 |
3617
3618**示例:**
3619
3620  ```js
3621  let accountManager = account_osAccount.getAccountManager();
3622  accountManager.getDistributedVirtualDeviceId((err, virtualID) => {
3623    console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
3624    console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID);
3625  });
3626  ```
3627
3628### getDistributedVirtualDeviceId<sup>(deprecated)</sup>
3629
3630getDistributedVirtualDeviceId(): Promise&lt;string&gt;
3631
3632获取分布式虚拟设备ID。使用Promise异步回调。
3633
3634> **说明:**
3635>
3636> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9-1)。
3637
3638**需要权限:** ohos.permission.DISTRIBUTED_DATASYNCohos.permission.MANAGE_LOCAL_ACCOUNTS
3639
3640**系统能力:** SystemCapability.Account.OsAccount
3641
3642**返回值:**
3643
3644| 类型                  | 说明                              |
3645| --------------------- | --------------------------------- |
3646| Promise&lt;string&gt; | Promise对象,返回分布式虚拟设备ID。 |
3647
3648**示例:**
3649
3650  ```js
3651  let accountManager = account_osAccount.getAccountManager();
3652  accountManager.getDistributedVirtualDeviceId().then((virtualID) => {
3653    console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID);
3654  }).catch((err) => {
3655    console.log('getDistributedVirtualDeviceId err: '  + JSON.stringify(err));
3656  });
3657  ```
3658
3659### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3660
3661getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback&lt;number&gt;): void
3662
3663通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。
3664
3665> **说明:**
3666>
3667> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9)。
3668
3669**系统能力:** SystemCapability.Account.OsAccount
3670
3671**参数:**
3672
3673| 参数名       | 类型                        | 必填 | 说明                                                                               |
3674| ------------ | --------------------------- | ---- | -------------------------------------------------------------------------------- |
3675| serialNumber | number                      | 是   | 帐号SN码。                                                                        |
3676| callback     | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果查询成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。 |
3677
3678**示例:** 查询与SN码12345关联的系统帐号的ID
3679
3680  ```js
3681  let accountManager = account_osAccount.getAccountManager();
3682  let serialNumber = 12345;
3683  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err, localId)=>{
3684    console.log('ger localId err:' + JSON.stringify(err));
3685    console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
3686  });
3687  ```
3688
3689### getOsAccountLocalIdBySerialNumber<sup>(deprecated)</sup>
3690
3691getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise&lt;number&gt;
3692
3693通过SN码查询与其关联的系统帐号的帐号ID。使用Promise异步回调。
3694
3695> **说明:**
3696>
3697> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getOsAccountLocalIdForSerialNumber](#getosaccountlocalidforserialnumber9-1)。
3698
3699**系统能力:** SystemCapability.Account.OsAccount
3700
3701**参数:**
3702
3703| 参数名       | 类型   | 必填 | 说明       |
3704| ------------ | ------ | ---- | ---------- |
3705| serialNumber | number | 是   | 帐号SN码。 |
3706
3707**返回值:**
3708
3709| 类型                  | 说明                                                         |
3710| --------------------- | -------------------------------------------- |
3711| Promise&lt;number&gt; | Promise对象,返回与SN码关联的系统帐号的帐号ID。 |
3712
3713**示例:** 查询与SN码12345关联的系统帐号的ID
3714
3715  ```js
3716  let accountManager = account_osAccount.getAccountManager();
3717  let serialNumber = 12345;
3718  accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId) => {
3719    console.log('getOsAccountLocalIdBySerialNumber localId: ' + localId);
3720  }).catch((err) => {
3721    console.log('getOsAccountLocalIdBySerialNumber err: '  + JSON.stringify(err));
3722  });
3723  ```
3724
3725### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
3726
3727getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback&lt;number&gt;): void
3728
3729通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。
3730
3731> **说明:**
3732>
3733> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9)。
3734
3735**系统能力:** SystemCapability.Account.OsAccount
3736
3737**参数:**
3738
3739| 参数名   | 类型                        | 必填 | 说明                                                                         |
3740| -------- | --------------------------- | ---- | --------------------------------------------------------------------------- |
3741| localId  | number                      | 是   | 系统帐号ID。                                                                 |
3742| callback | AsyncCallback&lt;number&gt; | 是   | 回调函数。如果获取成功,err为null,data为与该系统帐号关联的SN码;否则为错误对象。 |
3743
3744**示例:** 获取ID为100的系统帐号关联的SN码
3745
3746  ```js
3747  let accountManager = account_osAccount.getAccountManager();
3748  let localId = 100;
3749  accountManager.getSerialNumberByOsAccountLocalId(localId, (err, serialNumber)=>{
3750    console.log('ger serialNumber err:' + JSON.stringify(err));
3751    console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
3752  });
3753  ```
3754
3755### getSerialNumberByOsAccountLocalId<sup>(deprecated)</sup>
3756
3757getSerialNumberByOsAccountLocalId(localId: number): Promise&lt;number&gt;
3758
3759通过系统帐号ID获取与该系统帐号关联的SN码。使用Promise异步回调。
3760
3761> **说明:**
3762>
3763> 从 API version 8开始支持,从API version 9开始废弃。建议使用[getSerialNumberForOsAccountLocalId](#getserialnumberforosaccountlocalid9-1)。
3764
3765**系统能力:** SystemCapability.Account.OsAccount
3766
3767**参数:**
3768
3769| 参数名  | 类型   | 必填 | 说明          |
3770| ------- | ------ | ---- | ----------- |
3771| localId | number | 是   | 系统帐号ID。 |
3772
3773**返回值:**
3774
3775| 类型                  | 说明                                    |
3776| --------------------- | -------------------------------------- |
3777| Promise&lt;number&gt; | Promise对象,返回与该系统帐号关联的SN码。 |
3778
3779**示例:** 获取ID为100的系统帐号关联的SN码
3780
3781  ```js
3782  let accountManager = account_osAccount.getAccountManager();
3783  let localId = 100;
3784  accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber) => {
3785    console.log('getSerialNumberByOsAccountLocalId serialNumber: ' + serialNumber);
3786  }).catch((err) => {
3787    console.log('getSerialNumberByOsAccountLocalId err: '  + JSON.stringify(err));
3788  });
3789  ```
3790
3791## UserAuth<sup>8+</sup>
3792
3793用户认证类。
3794
3795**系统接口:** 此接口为系统接口。
3796
3797### constructor<sup>8+</sup>
3798
3799constructor()
3800
3801创建用户认证的实例。
3802
3803**系统接口:** 此接口为系统接口。
3804
3805**系统能力**:SystemCapability.Account.OsAccount
3806
3807**示例:**
3808  ```js
3809  let userAuth = new account_osAccount.UserAuth();
3810  ```
3811
3812### getVersion<sup>8+</sup>
3813
3814getVersion(): number;
3815
3816返回版本信息。
3817
3818**系统接口:** 此接口为系统接口。
3819
3820**系统能力:** SystemCapability.Account.OsAccount
3821
3822**返回值:**
3823
3824| 类型   | 说明         |
3825| :----- | :----------- |
3826| number | 返回版本信息。|
3827
3828**示例:**
3829  ```js
3830  let userAuth = new account_osAccount.UserAuth();
3831  let version = userAuth.getVersion();
3832  console.log('getVersion version = ' + version);
3833  ```
3834
3835### getAvailableStatus<sup>8+</sup>
3836
3837getAvailableStatus(authType: AuthType, authTrustLevel: AuthTrustLevel): number;
3838
3839获取指定认证类型和认证可信等级的认证能力的可用状态。
3840
3841**系统接口:** 此接口为系统接口。
3842
3843**系统能力:** SystemCapability.Account.OsAccount
3844
3845**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
3846
3847**参数:**
3848
3849| 参数名           | 类型                               | 必填 | 说明                       |
3850| --------------- | -----------------------------------| ---- | ------------------------- |
3851| authType        | [AuthType](#authtype8)             | 是   | 认证类型。     |
3852| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8) | 是   | 认证的可信等级。 |
3853
3854**返回值:**
3855
3856| 类型   | 说明                           |
3857| ------ | ----------------------------- |
3858| number | 返回认证能力的可用状态。 |
3859
3860**错误码:**
3861
3862| 错误码ID | 错误信息                     |
3863| -------- | --------------------------- |
3864| 12300001 | System service exception. |
3865| 12300002 | Invalid authType or authTrustLevel. |
3866
3867**示例:**
3868  ```js
3869  let userAuth = new account_osAccount.UserAuth();
3870  let authType = account_osAccount.AuthType.PIN;
3871  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
3872  try {
3873    let status = userAuth.getAvailableStatus(authType, authTrustLevel);
3874    console.log('getAvailableStatus status = ' + status);
3875  } catch (e) {
3876    console.log('getAvailableStatus exception = ' + JSON.stringify(e));
3877  }
3878  ```
3879
3880### getProperty<sup>8+</sup>
3881
3882getProperty(request: GetPropertyRequest, callback: AsyncCallback&lt;ExecutorProperty&gt;): void;
3883
3884基于指定的请求信息获取属性。使用callback异步回调。
3885
3886**系统接口:** 此接口为系统接口。
3887
3888**系统能力:** SystemCapability.Account.OsAccount
3889
3890**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
3891
3892**参数:**
3893
3894| 参数名    | 类型                                                                    | 必填 | 说明                                |
3895| -------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------ |
3896| request  | [GetPropertyRequest](#getpropertyrequest8)                  | 是   | 请求信息,包括认证类型和属性类型列表。 |
3897| callback | AsyncCallback&lt;[ExecutorProperty](#executorproperty8)&gt; | 是   | 回调函数。如果获取成功,err为null,data为执行器属性信息;否则为错误对象。|
3898
3899**错误码:**
3900
3901| 错误码ID | 错误信息                     |
3902| -------- | --------------------------- |
3903| 12300001 | System service exception. |
3904| 12300002 | Invalid request. |
3905
3906**示例:**
3907  ```js
3908  let userAuth = new account_osAccount.UserAuth();
3909  let keys = [
3910    account_osAccount.GetPropertyType.AUTH_SUB_TYPE,
3911    account_osAccount.GetPropertyType.REMAIN_TIMES,
3912    account_osAccount.GetPropertyType.FREEZING_TIME
3913  ];
3914  let request = {
3915    authType: account_osAccount.AuthType.PIN,
3916    keys: keys
3917  };
3918  try {
3919    userAuth.getProperty(request, (err, result) => {
3920      console.log('getProperty err = ' + JSON.stringify(err));
3921      console.log('getProperty result = ' + JSON.stringify(result));
3922    });
3923  } catch (e) {
3924    console.log('getProperty exception = ' + JSON.stringify(e));
3925  }
3926  ```
3927
3928### getProperty<sup>8+</sup>
3929
3930getProperty(request: GetPropertyRequest): Promise&lt;ExecutorProperty&gt;;
3931
3932基于指定的请求信息获取属性。使用Promise异步回调。
3933
3934**系统接口:** 此接口为系统接口。
3935
3936**系统能力:** SystemCapability.Account.OsAccount
3937
3938**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
3939
3940**参数:**
3941
3942| 参数名    | 类型                                                   | 必填 | 说明                                |
3943| -------- | ------------------------------------------------------ | ---- | ---------------------------------- |
3944| request  | [GetPropertyRequest](#getpropertyrequest8) | 是   | 请求信息,包括认证类型和属性类型列表。 |
3945
3946**返回值:**
3947
3948| 类型                                                              | 说明                                                 |
3949| :---------------------------------------------------------------- | :-------------------------------------------------- |
3950| Promise&lt;[ExecutorProperty](#executorproperty8)&gt; | Promise对象,返回执行者属性信息。 |
3951
3952**错误码:**
3953
3954| 错误码ID | 错误信息                     |
3955| -------- | --------------------------- |
3956| 12300001 | System service exception. |
3957| 12300002 | Invalid request. |
3958
3959**示例:**
3960  ```js
3961  let userAuth = new account_osAccount.UserAuth();
3962  let keys = [
3963    account_osAccount.GetPropertyType.AUTH_SUB_TYPE,
3964    account_osAccount.GetPropertyType.REMAIN_TIMES,
3965    account_osAccount.GetPropertyType.FREEZING_TIME
3966  ];
3967  let request = {
3968    authType: account_osAccount.AuthType.PIN,
3969    keys: keys
3970  };
3971  try {
3972    userAuth.getProperty(request).then((result) => {
3973      console.log('getProperty result = ' + JSON.stringify(result));
3974    }).catch((err) => {
3975      console.log('getProperty error = ' + JSON.stringify(err));
3976    });
3977  } catch (e) {
3978    console.log('getProperty exception = ' + JSON.stringify(e));
3979  }
3980  ```
3981
3982### setProperty<sup>8+</sup>
3983
3984setProperty(request: SetPropertyRequest, callback: AsyncCallback&lt;void&gt;): void;
3985
3986设置可用于初始化算法的属性。使用callback异步回调。
3987
3988**系统接口:** 此接口为系统接口。
3989
3990**系统能力:** SystemCapability.Account.OsAccount
3991
3992**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
3993
3994**参数:**
3995
3996| 参数名    | 类型                                                  | 必填 | 说明                                                                    |
3997| -------- | ----------------------------------------------------- | ---- | ---------------------------------------------------------------------- |
3998| request  | [SetPropertyRequest](#setpropertyrequest8)| 是   | 请求信息,包括认证类型和要设置的密钥值。                                   |
3999| callback | AsyncCallback&lt;void&gt;                           | 是   | 回调函数。如果设置成功,err为null,否则为错误对象。 |
4000
4001**错误码:**
4002
4003| 错误码ID | 错误信息                     |
4004| -------- | --------------------------- |
4005| 12300001 | System service exception. |
4006| 12300002 | Invalid request. |
4007
4008**示例:**
4009  ```js
4010  let userAuth = new account_osAccount.UserAuth();
4011  let request = {
4012    authType: account_osAccount.AuthType.PIN,
4013    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
4014    setInfo: new Uint8Array([0])
4015  };
4016  try {
4017    userAuth.setProperty(request, (err) => {
4018      if (err) {
4019        console.log('setProperty failed, error = ' + JSON.stringify(err));
4020      } else {
4021        console.log('setProperty successfully');
4022      }
4023    });
4024  } catch (e) {
4025    console.log('setProperty exception = ' + JSON.stringify(e));
4026  }
4027  ```
4028
4029### setProperty<sup>8+</sup>
4030
4031setProperty(request: SetPropertyRequest): Promise&lt;void&gt;;
4032
4033设置可用于初始化算法的属性。使用Promise异步回调。
4034
4035**系统接口:** 此接口为系统接口。
4036
4037**系统能力:** SystemCapability.Account.OsAccount
4038
4039**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
4040
4041**参数:**
4042
4043| 参数名    | 类型                                       | 必填 | 说明                                      |
4044| -------- | ------------------------------------------ | ---- | ---------------------------------------- |
4045| request  | [SetPropertyRequest](#setpropertyrequest8) | 是   | 请求信息,包括身份验证类型和要设置的密钥值。 |
4046
4047**返回值:**
4048
4049| 类型                  | 说明                                                           |
4050| :-------------------- | :------------------------------------------------------------ |
4051| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
4052
4053**错误码:**
4054
4055| 错误码ID | 错误信息                     |
4056| -------- | --------------------------- |
4057| 12300001 | System service exception. |
4058| 12300002 | Invalid request. |
4059
4060**示例:**
4061  ```js
4062  let userAuth = new account_osAccount.UserAuth();
4063  let request = {
4064    authType: account_osAccount.AuthType.PIN,
4065    key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
4066    setInfo: new Uint8Array([0])
4067  };
4068  try {
4069    userAuth.setProperty(request).then(() => {
4070      console.log('setProperty successfully');
4071    }).catch((err) => {
4072      console.log('setProperty failed, error = ' + JSON.stringify(err));
4073    });
4074  } catch (e) {
4075    console.log('setProperty exception = ' + JSON.stringify(e));
4076  }
4077  ```
4078
4079### auth<sup>8+</sup>
4080
4081auth(challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;
4082
4083认证当前用户。使用callback异步回调。
4084
4085**系统接口:** 此接口为系统接口。
4086
4087**系统能力:** SystemCapability.Account.OsAccount
4088
4089**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
4090
4091**参数:**
4092
4093| 参数名           | 类型                                     | 必填 | 说明                                |
4094| --------------- | ---------------------------------------- | --- | ------------------------------------ |
4095| challenge       | Uint8Array                               | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。|
4096| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
4097| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
4098| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4099
4100**返回值:**
4101
4102| 类型        | 说明               |
4103| ---------- | ------------------ |
4104| Uint8Array | 返回取消的上下文ID。 |
4105
4106**错误码:**
4107
4108| 错误码ID | 错误信息          |
4109| -------- | --------------------- |
4110| 12300001 | System service exception. |
4111| 12300002 | Invalid challenge or authType or authTrustLevel. |
4112| 12300101 | Credential is incorrect. |
4113| 12300105 | Unsupported authTrustLevel. |
4114| 12300106 | Unsupported authType. |
4115| 12300110 | Authentication locked. |
4116| 12300111 | Authentication timeout. |
4117| 12300112 | Authentication service busy. |
4118
4119**示例:**
4120  ```js
4121  let userAuth = new account_osAccount.UserAuth();
4122  let challenge = new Uint8Array([0]);
4123  let authType = account_osAccount.AuthType.PIN;
4124  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4125  try {
4126    userAuth.auth(challenge, authType, authTrustLevel, {
4127      onResult: function(result,extraInfo){
4128          console.log('auth result = ' + result);
4129          console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
4130      }
4131    });
4132  } catch (e) {
4133    console.log('auth exception = ' + JSON.stringify(e));
4134  }
4135  ```
4136
4137### authUser<sup>8+</sup>
4138
4139authUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;
4140
4141认证指定用户。使用callback异步回调。
4142
4143**系统接口:** 此接口为系统接口。
4144
4145**系统能力:** SystemCapability.Account.OsAccount
4146
4147**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
4148
4149**参数:**
4150
4151| 参数名           | 类型                                                 | 必填 | 说明                                |
4152| --------------- | ---------------------------------------------------- | --- | ------------------------------------ |
4153| userId          | number                                               | 是  | 指示用户身份。                        |
4154| challenge       | Uint8Array                                           | 是  | 指示挑战值,挑战值为一个随机数,用于提升安全性。                          |
4155| authType        | [AuthType](#authtype8)                   | 是  | 指示认证类型。                        |
4156| authTrustLevel  | [AuthTrustLevel](#authtrustlevel8)       | 是  | 指示认证结果的信任级别。               |
4157| callback        | [IUserAuthCallback](#iuserauthcallback8) | 是  | 回调对象,返回认证结果。  |
4158
4159**返回值:**
4160
4161| 类型        | 说明               |
4162| ---------- | ------------------ |
4163| Uint8Array | 返回取消的上下文ID。 |
4164
4165**错误码:**
4166
4167| 错误码ID | 错误信息          |
4168| -------- | --------------------- |
4169| 12300001 | System service exception. |
4170| 12300002 | Invalid userId or challenge or authType or authTrustLevel. |
4171| 12300101 | Credential is incorrect. |
4172| 12300105 | Unsupported authTrustLevel. |
4173| 12300106 | Unsupported authType. |
4174| 12300110 | Authentication locked. |
4175| 12300111 | Authentication timeout. |
4176| 12300112 | Authentication service busy. |
4177
4178**示例:**
4179  ```js
4180  let userAuth = new account_osAccount.UserAuth();
4181  let userID = 100;
4182  let challenge = new Uint8Array([0]);
4183  let authType = account_osAccount.AuthType.PIN;
4184  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4185  try {
4186    userAuth.authUser(userID, challenge, authType, authTrustLevel, {
4187      onResult: function(result,extraInfo){
4188        console.log('authUser result = ' + result);
4189        console.log('authUser extraInfo = ' + JSON.stringify(extraInfo));
4190      }
4191    });
4192  } catch (e) {
4193    console.log('authUser exception = ' + JSON.stringify(e));
4194  }
4195  ```
4196
4197### cancelAuth<sup>8+</sup>
4198
4199cancelAuth(contextID: Uint8Array): void;
4200
4201取消指定的认证操作。
4202
4203**系统接口:** 此接口为系统接口。
4204
4205**系统能力:** SystemCapability.Account.OsAccount
4206
4207**需要权限:** ohos.permission.ACCESS_USER_AUTH_INTERNAL
4208
4209**参数:**
4210
4211| 参数名    | 类型       | 必填  | 说明                                        |
4212| ----------| ---------- | ---- | ------------------------------------------ |
4213| contextId | Uint8Array | 是   | 指示身份验证上下文ID,此ID动态生成没有具体值。 |
4214
4215**错误码:**
4216
4217| 错误码ID | 错误信息            |
4218| -------- | ------------------ |
4219| 12300001 | System service exception. |
4220| 12300002 | Invalid contextId. |
4221
4222**示例:**
4223  ```js
4224  let userAuth = new account_osAccount.UserAuth();
4225  let pinAuth = new account_osAccount.PINAuth();
4226  let challenge = new Uint8Array([0]);
4227  let contextId = userAuth.auth(challenge, account_osAccount.AuthType.PIN, account_osAccount.AuthTrustLevel.ATL1, {
4228    onResult: (result, extraInfo) => {
4229      console.log('auth result = ' + result);
4230      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
4231    }
4232  });
4233  try {
4234    userAuth.cancelAuth(contextId);
4235  } catch (e) {
4236    console.log('cancelAuth exception = ' + JSON.stringify(e));
4237  }
4238  ```
4239
4240## PINAuth<sup>8+</sup>
4241
4242Pin码认证功能基类。
4243
4244**系统接口:** 此接口为系统接口。
4245
4246### constructor<sup>8+</sup>
4247
4248constructor()
4249
4250创建Pin码认证的实例。
4251
4252**系统接口:** 此接口为系统接口。
4253
4254**系统能力**:SystemCapability.Account.OsAccount
4255
4256**示例:**
4257  ```js
4258  let pinAuth = new account_osAccount.PINAuth();
4259  ```
4260
4261### registerInputer<sup>8+</sup>
4262
4263registerInputer(inputer: IInputer): void;
4264
4265注册PIN码输入器。
4266
4267**系统接口:** 此接口为系统接口。
4268
4269**系统能力:** SystemCapability.Account.OsAccount
4270
4271**需要权限:** ohos.permission.ACCESS_PIN_AUTH
4272
4273**参数:**
4274
4275| 参数名    | 类型                     | 必填 | 说明                      |
4276| ----------| ----------------------- | --- | -------------------------- |
4277| inputer   | [IInputer](#iinputer8)  | 是  | PIN码输入器,用于获取PIN码。 |
4278
4279**返回值:**
4280
4281| 类型    | 说明                                           |
4282| :------ | :-------------------------------------------- |
4283| boolean | 返回布尔值,true表示注册成功,false表示注册失败。 |
4284
4285**错误码:**
4286
4287| 错误码ID | 错误信息                     |
4288| -------- | --------------------------- |
4289| 12300001 | System service exception. |
4290| 12300103 | Inputer already registered. |
4291
4292**示例:**
4293  ```js
4294  let pinAuth = new account_osAccount.PINAuth();
4295  let password = new Uint8Array([0, 0, 0, 0, 0]);
4296  try {
4297    let result = pinAuth.registerInputer({
4298        onGetData: (pinSubType, callback) => {
4299          callback.onSetData(pinSubType, password);
4300        }
4301    });
4302    console.log('registerInputer result = ' + result);
4303  } catch (e) {
4304    console.log('registerInputer exception = ' + JSON.stringify(e));
4305  }
4306  ```
4307
4308### unregisterInputer<sup>8+</sup>
4309
4310unregisterInputer(): void;
4311
4312解注册PIN码输入器。
4313
4314**系统接口:** 此接口为系统接口。
4315
4316**系统能力:** SystemCapability.Account.OsAccount
4317
4318**需要权限:** ohos.permission.ACCESS_PIN_AUTH
4319
4320**示例:**
4321  ```js
4322  let pinAuth = new account_osAccount.PINAuth();
4323  pinAuth.unregisterInputer();
4324  ```
4325
4326## DomainPlugin<sup>9+</sup>
4327
4328域插件,提供域帐号认证功能。
4329
4330**系统接口:** 此接口为系统接口。
4331
4332### auth<sup>9+</sup>
4333
4334auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void
4335
4336认证指定的域帐号。
4337
4338**系统接口:** 此接口为系统接口。
4339
4340**系统能力:** SystemCapability.Account.OsAccount
4341
4342**参数:**
4343
4344| 参数名      | 类型                                    | 必填 | 说明             |
4345| ---------- | --------------------------------------- | ---- | --------------- |
4346| domainAccountInfo   | [DomainAccountInfo](#domainaccountinfo8)  | 是   | 指示域帐号信息。|
4347| credential   | Uint8Array  | 是   | 指示域帐号的凭据。|
4348| callback   | [IUserAuthCallback](#iuserauthcallback8)  | 是   | 指示认证结果回调。|
4349
4350**示例:**
4351  ```js
4352  let plugin = {
4353    auth: (domainAccountInfo, credential, callback) => {
4354      // mock authentication
4355      // notify authentication result
4356      callback.onResult(0, {
4357        token: new Uint8Array([0]),
4358        remainTimes: 5,
4359        freezingTime: 0
4360      });
4361    }
4362  }
4363  account_osAccount.DomainAccountManager.registerPlugin(plugin);
4364  let userAuth = new account_osAccount.UserAuth();
4365  let challenge = new Uint8Array([0]);
4366  let authType = account_osAccount.AuthType.DOMAIN;
4367  let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
4368  try {
4369    userAuth.auth(challenge, authType, authTrustLevel, {
4370      onResult: (resultCode, authResult) => {
4371          console.log('auth resultCode = ' + resultCode);
4372          console.log('auth authResult = ' + JSON.stringify(authResult));
4373      }
4374    });
4375  } catch (err) {
4376    console.log('auth exception = ' + JSON.stringify(err));
4377  }
4378  ```
4379
4380## DomainAccountManager <sup>9+</sup>
4381域帐号管理器类。
4382
4383### registerPlugin<sup>9+</sup>
4384
4385static registerPlugin(plugin: DomainPlugin): void
4386
4387注册域插件。
4388
4389**系统接口:** 此接口为系统接口。
4390
4391**系统能力:** SystemCapability.Account.OsAccount
4392
4393**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
4394
4395**参数:**
4396
4397| 参数名    | 类型                     | 必填 | 说明                      |
4398| ----------| ----------------------- | --- | -------------------------- |
4399| plugin   | [DomainPlugin](#domainplugin9)  | 是  | 指示域插件。 |
4400
4401**错误码:**
4402
4403| 错误码ID | 错误信息                     |
4404| -------- | --------------------------- |
4405| 12300201 | the domain plugin has been registered. |
4406
4407**示例:**
4408  ```js
4409  let plugin = {
4410    auth: (domainAccountInfo, credential, callback) => {}
4411  }
4412  try {
4413    account_osAccount.DomainAccountManager.registerPlugin(plugin);
4414    console.log('registerPlugin success.');
4415  } catch(err) {
4416    console.log("registerPlugin err:" + JSON.stringify(err));
4417  }
4418  ```
4419
4420### unregisterPlugin<sup>9+</sup>
4421
4422static unregisterPlugin(): void
4423
4424注销域插件。
4425
4426**系统接口:** 此接口为系统接口。
4427
4428**系统能力:** SystemCapability.Account.OsAccount
4429
4430**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS
4431
4432**示例:**
4433  ```js
4434  try {
4435    account_osAccount.DomainAccountManager.unregisterPlugin();
4436    console.log('unregisterPlugin success.');
4437  } catch(err) {
4438    console.log("unregisterPlugin err:" + JSON.stringify(err));
4439  }
4440  ```
4441
4442## UserIdentityManager<sup>8+</sup>
4443
4444获取用户身份管理类。
4445
4446**系统接口:** 此接口为系统接口。
4447
4448### constructor<sup>8+</sup>
4449
4450constructor()
4451
4452用户身份管理类的默认构造函数。
4453
4454**系统接口:** 此接口为系统接口。
4455
4456**系统能力**:SystemCapability.Account.OsAccount
4457
4458**示例:**
4459  ```js
4460  let userIDM = new account_osAccount.UserIdentityManager();
4461  ```
4462
4463### openSession<sup>8+</sup>
4464
4465openSession(callback: AsyncCallback&lt;Uint8Array&gt;): void;
4466
4467打开会话,获取挑战值。使用callback异步回调。
4468
4469**系统接口:** 此接口为系统接口。
4470
4471**系统能力:** SystemCapability.Account.OsAccount
4472
4473**需要权限:** ohos.permission.MANAGE_USER_IDM
4474
4475**参数:**
4476
4477| 参数名    | 类型                             | 必填 | 说明                                                            |
4478| -------- | -------------------------------- | ---- | -------------------------------------------------------------- |
4479| callback | AsyncCallback&lt;Uint8Array&gt;  | 是   | 回调函数。如果打开会话成功,err为null,data为挑战值;否则为错误对象。|
4480
4481**错误码:**
4482
4483| 错误码ID | 错误信息                     |
4484| -------- | --------------------------- |
4485| 12300001 | System service exception. |
4486
4487**示例:**
4488  ```js
4489  let userIDM = new account_osAccount.UserIdentityManager();
4490  try {
4491    userIDM.openSession((err, challenge) => {
4492        console.log('openSession error = ' + JSON.stringify(err));
4493        console.log('openSession challenge = ' + JSON.stringify(challenge));
4494    });
4495  } catch (e) {
4496    console.log('openSession exception = ' + JSON.stringify(e));
4497  }
4498  ```
4499
4500### openSession<sup>8+</sup>
4501
4502openSession(): Promise&lt;Uint8Array&gt;;
4503
4504打开会话,获取挑战值。使用Promise异步回调。
4505
4506**系统接口:** 此接口为系统接口。
4507
4508**系统能力:** SystemCapability.Account.OsAccount
4509
4510**需要权限:** ohos.permission.MANAGE_USER_IDM
4511
4512**返回值:**
4513
4514| 类型                      | 说明                     |
4515| :------------------------ | ----------------------- |
4516| Promise&lt;Uint8Array&gt; | Promise对象,返回挑战值。 |
4517
4518**错误码:**
4519
4520| 错误码ID | 错误信息                     |
4521| -------- | --------------------------- |
4522| 12300001 | System service exception. |
4523
4524**示例:**
4525  ```js
4526  let userIDM = new account_osAccount.UserIdentityManager();
4527  try {
4528    userIDM.openSession().then((challenge) => {
4529        console.info('openSession challenge = ' + JSON.stringify(challenge));
4530    }).catch((err) => {
4531        console.info('openSession error = ' + JSON.stringify(err));
4532    });
4533  } catch (e) {
4534    console.log('openSession exception = ' + JSON.stringify(e));
4535  }
4536  ```
4537
4538### addCredential<sup>8+</sup>
4539
4540addCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;
4541
4542添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息。
4543
4544**系统接口:** 此接口为系统接口。
4545
4546**系统能力:** SystemCapability.Account.OsAccount
4547
4548**需要权限:** ohos.permission.MANAGE_USER_IDM
4549
4550**参数:**
4551
4552| 参数名           | 类型                                 | 必填 | 说明                        |
4553| --------------- | ------------------------------------ | --- | ---------------------------- |
4554| credentialInfo  | [CredentialInfo](#credentialinfo8)   | 是  | 指示凭据信息。                |
4555| callback        | [IIdmCallback](#iidmcallback8)       | 是  | 回调对象,返回添加凭据的结果。  |
4556
4557**错误码:**
4558
4559| 错误码ID | 错误信息                     |
4560| -------- | ------------------- |
4561| 12300001 | System service exception. |
4562| 12300002 | Invalid credentialInfo, i.e. authType or authSubType. |
4563| 12300101 | Token is invalid. |
4564| 12300106 | Unsupported authType. |
4565
4566**示例:**
4567  ```js
4568  let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
4569  let pinAuth = new account_osAccount.PINAuth();
4570  pinAuth.registerInputer({
4571    onGetData: (pinSubType, callback) => {
4572      callback.onSetData(pinSubType, password);
4573    }
4574  });
4575  let credentialInfo = {
4576    credType: account_osAccount.AuthType.PIN,
4577    credSubType: account_osAccount.AuthSubType.PIN_SIX,
4578    token: null
4579  };
4580  let userIDM = new account_osAccount.UserIdentityManager();
4581  userIDM.openSession((err, challenge) => {
4582    try {
4583    userIDM.addCredential(credentialInfo, {
4584      onResult: (result, extraInfo) => {
4585        console.log('updateCredential result = ' + result);
4586        console.log('updateCredential extraInfo = ' + extraInfo);
4587      }
4588    });
4589    } catch (e) {
4590      console.log('updateCredential exception = ' + JSON.stringify(e));
4591    }
4592  });
4593  ```
4594
4595### updateCredential<sup>8+</sup>
4596
4597updateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;
4598
4599更新凭据。使用callback异步回调。
4600
4601**系统接口:** 此接口为系统接口。
4602
4603**系统能力:** SystemCapability.Account.OsAccount
4604
4605**需要权限:** ohos.permission.MANAGE_USER_IDM
4606
4607**参数:**
4608
4609| 参数名           | 类型                                  | 必填 | 说明                     |
4610| --------------- | ------------------------------------- | --- | ------------------------- |
4611| credentialInfo  | [CredentialInfo](#credentialinfo8)    | 是  | 指示凭据信息。             |
4612| callback        | [IIdmCallback](#iidmcallback8)        | 是  | 回调对象,返回更新凭据的结果。 |
4613
4614**错误码:**
4615
4616| 错误码ID | 错误信息                     |
4617| -------- | ------------------- |
4618| 12300001 | System service exception. |
4619| 12300002 | Invalid credentialInfo, i.e. authType or authSubType or token. |
4620| 12300101 | Token is invalid. |
4621| 12300106 | Unsupported authType. |
4622
4623**示例:**
4624  ```js
4625  let userIDM = new account_osAccount.UserIdentityManager();
4626  let userAuth = new account_osAccount.UserAuth();
4627  let pinAuth = new account_osAccount.PINAuth();
4628  let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
4629  let credentialInfo = {
4630    credType: account_osAccount.AuthType.PIN,
4631    credSubType: account_osAccount.AuthSubType.PIN_SIX,
4632    token: null
4633  };
4634  pinAuth.registerInputer({
4635    onGetData: (pinSubType, callback) => {
4636      callback.onSetData(pinSubType, password);
4637    }
4638  });
4639  userIDM.openSession((err, challenge) => {
4640    userAuth.auth(challenge, credentialInfo.credType, account_osAccount.AuthTrustLevel.ATL1, {
4641      onResult: (result, extraInfo) => {
4642        if (result != account_osAccount.ResultCode.SUCCESS) {
4643          return;
4644        }
4645        credentialInfo.token = extraInfo.token;
4646        try {
4647          userIDM.updateCredential(credentialInfo, {
4648            onResult: (result, extraInfo) => {
4649                console.log('updateCredential result = ' + result);
4650                console.log('updateCredential extraInfo = ' + extraInfo);
4651            }
4652          });
4653        } catch (e) {
4654          console.log('updateCredential exception = ' + JSON.stringify(e));
4655        }
4656      }
4657    });
4658  });
4659  ```
4660
4661### closeSession<sup>8+</sup>
4662
4663closeSession(): void;
4664
4665关闭会话,结束IDM操作。
4666
4667**系统接口:** 此接口为系统接口。
4668
4669**系统能力:** SystemCapability.Account.OsAccount
4670
4671**需要权限:** ohos.permission.MANAGE_USER_IDM
4672
4673**示例:**
4674  ```js
4675  let userIDM = new account_osAccount.UserIdentityManager();
4676  userIDM.closeSession();
4677  ```
4678
4679### cancel<sup>8+</sup>
4680
4681cancel(challenge: Uint8Array): void;
4682
4683根据挑战值取消条目。
4684
4685**系统接口:** 此接口为系统接口。
4686
4687**系统能力:** SystemCapability.Account.OsAccount
4688
4689**需要权限:** ohos.permission.MANAGE_USER_IDM
4690
4691**参数:**
4692
4693| 参数名    | 类型        | 必填 | 说明   |
4694| -------- | ----------- | ---- | ----- |
4695| challenge | Uint8Array | 是   | 挑战值。 |
4696
4697**错误码:**
4698
4699| 错误码ID | 错误信息            |
4700| -------- | ------------------- |
4701| 12300001 | System service exception. |
4702| 12300002 | Invalid challenge. |
4703
4704**示例:**
4705  ```js
4706  let userIDM = new account_osAccount.UserIdentityManager();
4707  let challenge = new Uint8Array([0]);
4708  try {
4709    userIDM.cancel(challenge);
4710  } catch(err) {
4711    console.log("cancel err:" + JSON.stringify(err));
4712  }
4713  ```
4714
4715### delUser<sup>8+</sup>
4716
4717delUser(token: Uint8Array, callback: IIdmCallback): void;
4718
4719删除具有身份验证令牌的用户,使用callback方式异步返回结果。
4720
4721**系统接口:** 此接口为系统接口。
4722
4723**系统能力:** SystemCapability.Account.OsAccount
4724
4725**需要权限:** ohos.permission.MANAGE_USER_IDM
4726
4727**参数:**
4728
4729| 参数名    | 类型                           | 必填 | 说明                      |
4730| -------- | ------------------------------ | --- | ------------------------- |
4731| token    | Uint8Array                     | 是  | 身份验证令牌。             |
4732| callback | [IIdmCallback](#iidmcallback8) | 是  | 回调对象,返回删除用户的结果。|
4733
4734**错误码:**
4735
4736| 错误码ID | 错误信息        |
4737| -------- | ------------------- |
4738| 12300001 | System service exception. |
4739| 12300101 | Token is invalid. |
4740
4741**示例:**
4742  ```js
4743  let userIDM = new account_osAccount.UserIdentityManager();
4744  let token = new Uint8Array([0]);
4745  try {
4746    userIDM.delUser(token, {
4747      onResult: (result, extraInfo) => {
4748        console.log('delUser result = ' + result);
4749        console.log('delUser extraInfo = ' + JSON.stringify(extraInfo));
4750      }
4751    });
4752  } catch (e) {
4753    console.log('delUser exception = ' + JSON.stringify(e));
4754  }
4755  ```
4756
4757### delCred<sup>8+</sup>
4758
4759delCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void;
4760
4761删除用户凭据信息。
4762
4763**系统接口:** 此接口为系统接口。
4764
4765**系统能力:** SystemCapability.Account.OsAccount
4766
4767**需要权限:** ohos.permission.MANAGE_USER_IDM
4768
4769**参数:**
4770
4771| 参数名           | 类型                                            | 必填 | 说明                      |
4772| --------------- | ----------------------------------- | --- | ---------------------------|
4773| credentialId    | Uint8Array                          | 是  | 凭证索引。                  |
4774| token           | Uint8Array                          | 是  | 身份验证令牌。               |
4775| callback        | [IIdmCallback](#iidmcallback8)      | 是  | 回调对象,返回删除凭据的结果。 |
4776
4777**错误码:**
4778
4779| 错误码ID | 错误信息             |
4780| -------- | ------------------- |
4781| 12300001 | System service exception. |
4782| 12300002 | Invalid credentialId. |
4783| 12300101 | Token is invalid. |
4784| 12300102 | Credential not found. |
4785
4786**示例:**
4787  ```js
4788  let userIDM = new account_osAccount.UserIdentityManager();
4789  let credentialId = new Uint8Array([0]);
4790  let token = new Uint8Array([0]);
4791  try {
4792    userIDM.delCred(credentialId, token, {
4793      onResult: (result, extraInfo) => {
4794          console.log('delCred result = ' + result);
4795          console.log('delCred extraInfo = ' + JSON.stringify(extraInfo));
4796      }
4797    });
4798  } catch (e) {
4799    console.log('delCred exception = ' + JSON.stringify(e));
4800  }
4801  ```
4802
4803### getAuthInfo<sup>8+</sup>
4804
4805getAuthInfo(callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;
4806
4807获取认证信息。使用callback异步回调。
4808
4809**系统接口:** 此接口为系统接口。
4810
4811**系统能力:** SystemCapability.Account.OsAccount
4812
4813**需要权限:** ohos.permission.USE_USER_IDM
4814
4815**参数:**
4816
4817| 参数名    | 类型                                                                     | 必填 | 说明                                                 |
4818| -------- | ------------------------------------------------------------------------ | ---- | --------------------------------------------- |
4819| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数。如果成功,err为null,data为当前用户的所有已注册凭据信息;否则为错误对象。|
4820
4821**错误码:**
4822
4823| 错误码ID | 错误信息               |
4824| -------- | --------------------- |
4825| 12300001 | System service exception. |
4826| 12300102 | Credential not found. |
4827
4828**示例:**
4829  ```js
4830  let userIDM = new account_osAccount.UserIdentityManager();
4831  try {
4832    userIDM.getAuthInfo((err, result) => {
4833      console.log('getAuthInfo err = ' + JSON.stringify(err));
4834      console.log('getAuthInfo result = ' + JSON.stringify(result));
4835    });
4836  } catch (e) {
4837    console.log('getAuthInfo exception = ' + JSON.stringify(e));
4838  }
4839  ```
4840
4841### getAuthInfo<sup>8+</sup>
4842
4843getAuthInfo(authType: AuthType, callback: AsyncCallback&lt;Array&lt;EnrolledCredInfo&gt;&gt;): void;
4844
4845获取指定类型的认证信息。使用callback异步回调。
4846
4847**系统接口:** 此接口为系统接口。
4848
4849**系统能力:** SystemCapability.Account.OsAccount
4850
4851**需要权限:** ohos.permission.USE_USER_IDM
4852
4853**参数:**
4854
4855| 参数名    | 类型                                               | 必填 | 说明                                                |
4856| -------- | -------------------------------------------------- | ---- | -------------------------------------------------- |
4857| authType | [AuthType](#authtype8) | 是   | 认证类型。                                          |
4858| callback | AsyncCallback&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | 是   | 回调函数,如果获取成功,err为null,data为当前用户指定类型的所有已注册凭据信息;否则为错误对象。 |
4859
4860**错误码:**
4861
4862| 错误码ID | 错误信息               |
4863| -------- | ------------------- |
4864| 12300001 | System service exception. |
4865| 12300002 | Invalid authType. |
4866| 12300102 | Credential not found. |
4867
4868**示例:**
4869  ```js
4870  let userIDM = new account_osAccount.UserIdentityManager();
4871  try {
4872    userIDM.getAuthInfo(account_osAccount.AuthType.PIN, (err, result) => {
4873      console.log('getAuthInfo err = ' + JSON.stringify(err));
4874      console.log('getAuthInfo result = ' + JSON.stringify(result));
4875    });
4876  } catch (e) {
4877    console.log('getAuthInfo exception = ' + JSON.stringify(e));
4878  }
4879  ```
4880
4881### getAuthInfo<sup>8+</sup>
4882
4883getAuthInfo(authType?: AuthType): Promise&lt;Array&lt;EnrolledCredInfo&gt;&gt;;
4884
4885获取认证信息。使用Promise异步回调。
4886
4887**系统接口:** 此接口为系统接口。
4888
4889**系统能力:** SystemCapability.Account.OsAccount
4890
4891**需要权限:** ohos.permission.USE_USER_IDM
4892
4893**参数:**
4894
4895| 参数名    | 类型                                | 必填 | 说明      |
4896| -------- | ----------------------------------- | ---- | -------- |
4897| authType | [AuthType](#authtype8)              | 否   | 认证类型。|
4898
4899**返回值:**
4900
4901| 类型                                         | 说明                                                                     |
4902| :------------------------------------------- | :----------------------------------------------------------------------- |
4903| Promise&lt;Array&lt;[EnrolledCredInfo](#enrolledcredinfo8)&gt;&gt; | Promise对象,返回当前用户指定类型的所有已注册凭据信息。|
4904
4905**错误码:**
4906
4907| 错误码ID | 错误信息               |
4908| -------- | ------------------- |
4909| 12300001 | System service exception. |
4910| 12300002 | Invalid authType. |
4911| 12300102 | Credential not found. |
4912
4913**示例:**
4914  ```js
4915  let userIDM = new account_osAccount.UserIdentityManager();
4916  try {
4917    userIDM.getAuthInfo(account_osAccount.AuthType.PIN).then((result) => {
4918      console.log('getAuthInfo result = ' + JSON.stringify(result))
4919    }).catch((err) => {
4920      console.log('getAuthInfo error = ' + JSON.stringify(err));
4921    });
4922  } catch (e) {
4923    console.log('getAuthInfo exception = ' + JSON.stringify(e));
4924  }
4925  ```
4926
4927## IInputData<sup>8+</sup>
4928
4929密码数据回调。
4930
4931**系统接口:** 此接口为系统接口。
4932
4933### onSetData<sup>8+</sup>
4934
4935onSetData: (authSubType: AuthSubType, data: Uint8Array) => void;
4936
4937**系统接口:** 此接口为系统接口。
4938
4939通知设置数据。
4940
4941**系统能力:** SystemCapability.Account.OsAccount
4942
4943**参数:**
4944
4945| 参数名      | 类型                                     | 必填 | 说明                                            |
4946| ---------- | ---------------------------------------- | ---- | ----------------------------------------------- |
4947| authSubType | [AuthSubType](#authsubtype8)             | 是   | 用于认证的凭据子类型。                            |
4948| data       | Uint8Array                               | 是   | 要设置的数据是凭据,用来在认证、添加、修改凭据操作。 |
4949
4950**示例:**
4951  ```js
4952  let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
4953  let passwordNumber = new Uint8Array([1, 2, 3, 4]);
4954  let inputer = {
4955    onGetData: (authSubType, callback) => {
4956        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
4957          callback.onSetData(authSubType, passwordNumber);
4958        } else {
4959          callback.onSetData(authSubType, password);
4960        }
4961    }
4962  };
4963  ```
4964
4965## IInputer<sup>8+</sup>
4966
4967密码输入框回调。
4968
4969**系统接口:** 此接口为系统接口。
4970
4971### onGetData<sup>8+</sup>
4972
4973onGetData: (authSubType: AuthSubType, callback: IInputData) => void;
4974
4975通知获取数据。
4976
4977**系统接口:** 此接口为系统接口。
4978
4979**系统能力:** SystemCapability.Account.OsAccount
4980
4981**参数:**
4982
4983| 参数名      | 类型                                    | 必填 | 说明             |
4984| ---------- | --------------------------------------- | ---- | --------------- |
4985| callback   | [IInputData](#iinputdata8)  | 是   | 指示密码数据回调。|
4986
4987**示例:**
4988  ```js
4989  let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
4990  let passwordNumber = new Uint8Array([1, 2, 3, 4]);
4991  let inputer = {
4992    onGetData: (authSubType, callback) => {
4993        if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
4994          callback.onSetData(authSubType, passwordNumber);
4995        } else {
4996          callback.onSetData(authSubType, password);
4997        }
4998    }
4999  };
5000  let pinAuth = new account_osAccount.PINAuth();
5001  let result = pinAuth.registerInputer(inputer);
5002  console.log('registerInputer result: ' + result);
5003  ```
5004
5005## IUserAuthCallback<sup>8+</sup>
5006
5007表示用户认证回调类。
5008
5009**系统接口:** 此接口为系统接口。
5010
5011### onResult<sup>8+</sup>
5012
5013onResult: (result: number, extraInfo: AuthResult) => void;
5014
5015身份认证结果回调函数,返回结果码和认证结果信息。
5016
5017**系统接口:** 此接口为系统接口。
5018
5019**系统能力:** SystemCapability.Account.OsAccount
5020
5021**参数:**
5022
5023| 参数名     | 类型                                    | 必填 | 说明                 |
5024| --------- | --------------------------------------- | ---- | ------------------- |
5025| result    | number                                   | 是   | 表示身份认证结果代码。|
5026| extraInfo | [AuthResult](#authresult8)  | 是   | 表示不同情况下的具体信息,如果认证通过,则在extrainfo中返回认证令牌,如果身份验证失败,则在extrainfo中返回剩余的身份验证时间,如果身份验证执行器被锁定,冻结时间将在extrainfo中返回。|
5027
5028**示例:**
5029  ```js
5030  let authCallback = {
5031    onResult: (result, extraInfo) => {
5032      console.log('auth result = ' + result);
5033      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
5034    }
5035  };
5036  ```
5037
5038### onAcquireInfo?<sup>8+</sup>
5039
5040onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;
5041
5042身份认证信息获取回调函数。
5043
5044**系统接口:** 此接口为系统接口。
5045
5046**系统能力:** SystemCapability.Account.OsAccount
5047
5048**参数:**
5049
5050| 参数名    | 类型     | 必填 | 说明                           |
5051| --------- | ------- | ---- | ----------------------------- |
5052| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
5053| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
5054| extraInfo | any     | 是   | 保留参数。                     |
5055
5056**示例:**
5057  ```js
5058  let authCallback = {
5059    onResult: (result, extraInfo) => {
5060      console.log('auth result = ' + result)
5061      console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
5062    },
5063    onAcquireInfo: (module, acquire, extraInfo) => {
5064      console.log('auth module = ' + module);
5065      console.log('auth acquire = ' + acquire);
5066      console.info('auth extraInfo = ' + JSON.stringify(extraInfo));
5067    }
5068  };
5069  ```
5070
5071## IIdmCallback<sup>8+</sup>
5072
5073表示身份管理回调类。
5074
5075**系统接口:** 此接口为系统接口。
5076
5077### onResult<sup>8+</sup>
5078
5079onResult: (result: number, extraInfo: RequestResult) => void;
5080
5081身份管理操作结果回调函数,返回结果码和请求结果信息。
5082
5083**系统接口:** 此接口为系统接口。
5084
5085**系统能力:** SystemCapability.Account.OsAccount
5086
5087**参数:**
5088
5089| 参数名     | 类型                                    | 必填 | 说明                     |
5090| --------- | --------------------------------------- | ---- | ----------------------- |
5091| result    | number                                  | 是   | 表示身份认证结果代码。    |
5092| extraInfo | [RequestResult](#requestresult8)  | 是   | 针对不同情况传递具体信息。|
5093
5094**示例:**
5095  ```js
5096  let idmCallback = {
5097    onResult: (result, extraInfo) => {
5098      console.log('callback result = ' + result)
5099      console.info('callback extraInfo = ' + JSON.stringify(extraInfo));
5100    }
5101  };
5102  ```
5103
5104### onAcquireInfo?<sup>8+</sup>
5105
5106onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;
5107
5108身份管理信息获取回调函数。
5109
5110**系统接口:** 此接口为系统接口。
5111
5112**系统能力:** SystemCapability.Account.OsAccount
5113
5114**参数:**
5115
5116| 参数名    | 类型     | 必填 | 说明                           |
5117| --------- | ------- | ---- | ----------------------------- |
5118| module    | number  | 是   | 指示用于身份验证的执行器类型。   |
5119| acquire   | number  | 是   | 指示不同身份验证执行器的tip代码。|
5120| extraInfo | any     | 是   | 保留参数。                     |
5121
5122**示例:**
5123  ```js
5124  let idmCallback = {
5125    onResult: (result, extraInfo) => {
5126      console.log('callback result = ' + result)
5127      console.log('callback onResult = ' + JSON.stringify(extraInfo));
5128    },
5129    onAcquireInfo: (module, acquire, extraInfo) => {
5130      console.log('callback module = ' + module);
5131      console.log('callback acquire = ' + acquire);
5132      console.log('callback onacquireinfo = ' + JSON.stringify(extraInfo));
5133    }
5134  };
5135  ```
5136
5137## GetPropertyRequest<sup>8+</sup>
5138
5139提供获取属性请求的信息。
5140
5141**系统接口:** 此接口为系统接口。
5142
5143**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5144
5145| 名称    | 类型                                                          | 必填   | 说明                   |
5146| -------- | ------------------------------------------------------------- | ----- | ----------------------- |
5147| authType | [AuthType](#authtype8)                            | 是    | 身份验证凭据类型。        |
5148| keys     | Array&lt;[GetPropertyType](#getpropertytype8)&gt; | 是    | 指示要获取的属性类型数组。 |
5149
5150## SetPropertyRequest<sup>8+</sup>
5151
5152提供设置属性请求的信息。
5153
5154**系统接口:** 此接口为系统接口。
5155
5156**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5157
5158| 名称    | 类型                                             | 必填   | 说明                 |
5159| -------- | ------------------------------------------------ | ----- | -------------------- |
5160| authType | [AuthType](#authtype8)               | 是    | 身份验证凭据类型。     |
5161| key     | [SetPropertyType](#setpropertytype8) | 是    | 指示要设置的属性类型。 |
5162| setInfo  | Uint8Array                                       | 是    | 指示要设置的信息。     |
5163
5164## ExecutorProperty<sup>8+</sup>
5165
5166提供执行器的属性。
5167
5168**系统接口:** 此接口为系统接口。
5169
5170**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5171
5172| 名称        | 类型                                     | 必填   | 说明              |
5173| ------------ | ---------------------------------------- | ----- | ----------------- |
5174| result       | number                                   | 是    | 指示结果。         |
5175| authSubType  | [AuthSubType](#authsubtype8) | 是    | 指示认证凭据子类型。|
5176| remainTimes  | number                                   | 否    | 指示剩余时间。     |
5177| freezingTime | number                                   | 否    | 指示冻结时间。     |
5178
5179## AuthResult<sup>8+</sup>
5180
5181表示认证结果的信息。
5182
5183**系统接口:** 此接口为系统接口。
5184
5185**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5186
5187| 名称        | 类型        | 必填   | 说明              |
5188| ------------ | ----------- | ----- | ----------------- |
5189| token        | Uint8Array  | 否    | 指示认证令牌。     |
5190| remainTimes  | number      | 否    | 指示剩余时间。     |
5191| freezingTime | number      | 否    | 指示冻结时间。     |
5192
5193## CredentialInfo<sup>8+</sup>
5194
5195表示凭证信息。
5196
5197**系统接口:** 此接口为系统接口。
5198
5199**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5200
5201| 名称        | 类型                                     | 必填   | 说明              |
5202| ------------ | ---------------------------------------- | ----- | ----------------- |
5203| credType     | [AuthType](#authtype8)       | 是    | 指示凭据类型。     |
5204| credSubType  | [AuthSubType](#authsubtype8) | 是    | 指示凭据子类型。   |
5205| token        | Uint8Array                           | 是    | 指示认证令牌。     |
5206
5207## RequestResult<sup>8+</sup>
5208
5209表示请求结果的信息。
5210
5211**系统接口:** 此接口为系统接口。
5212
5213**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5214
5215| 名称        | 类型        | 必填   | 说明              |
5216| ------------ | ----------- | ----- | ----------------- |
5217| credentialId | Uint8Array  | 否    | 指示凭据索引。     |
5218
5219## EnrolledCredInfo<sup>8+</sup>
5220
5221表示已注册凭据的信息。
5222
5223**系统接口:** 此接口为系统接口。
5224
5225**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5226
5227| 名称        | 类型                                     | 必填   | 说明              |
5228| ------------ | ---------------------------------------- | ----- | ------------------- |
5229| credentialId | Uint8Array                               | 是    | 指示凭据索引。       |
5230| authType     | [AuthType](#authtype8)       | 是    | 指示认证凭据类型。   |
5231| authSubType  | [AuthSubType](#authsubtype8) | 是    | 指示认证凭据子类型。 |
5232| templateId   | Uint8Array                               | 是    | 指示凭据模板ID。     |
5233
5234## GetPropertyType<sup>8+</sup>
5235
5236表示要获取的属性类型的枚举。
5237
5238**系统接口:** 此接口为系统接口。
5239
5240**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5241
5242| 名称           | 值 | 说明      |
5243| ------------- | ------ | --------- |
5244| AUTH_SUB_TYPE | 1      | 认证子类型。 |
5245| REMAIN_TIMES  | 2      | 剩余时间。   |
5246| FREEZING_TIME | 3      | 冻结时间。   |
5247
5248## SetPropertyType<sup>8+</sup>
5249
5250表示要设置的属性类型的枚举。
5251
5252**系统接口:** 此接口为系统接口。
5253
5254**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5255
5256| 名称           | 值 | 说明        |
5257| -------------- | ----- | ----------- |
5258| INIT_ALGORITHM | 1     | 初始化算法。 |
5259
5260## AuthType<sup>8+</sup>
5261
5262表示身份验证的凭据类型的枚举。
5263
5264**系统接口:** 此接口为系统接口。
5265
5266**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5267
5268| 名称  | 值 | 说明             |
5269| ----- | ----- | ---------------- |
5270| PIN   | 1     | 指示PIN认证类型。 |
5271| FACE  | 2     | 指示脸部认证类型。|
5272| DOMAIN<sup>9+</sup>  | 1024     | 表示域认证类型。|
5273
5274## AuthSubType<sup>8+</sup>
5275
5276表示用于认证的凭据子类型的枚举。
5277
5278**系统接口:** 此接口为系统接口。
5279
5280**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5281
5282| 名称       | 值 | 说明               |
5283| ---------- | ----- | ------------------ |
5284| PIN_SIX    | 10000 | 表示6位凭证。       |
5285| PIN_NUMBER | 10001 | 表示自定义数字凭证。 |
5286| PIN_MIXED  | 10002 | 表示自定义混合凭据。 |
5287| FACE_2D    | 20000 | 指示2D 人脸凭证。   |
5288| FACE_3D    | 20001 | 指示3D 人脸凭证。   |
5289| DOMAIN_MIXED<sup>9+</sup>    | 10240001 | 表示域认证混合凭证。   |
5290
5291## AuthTrustLevel<sup>8+</sup>
5292
5293表示认证结果的受信任级别的枚举。
5294
5295**系统接口:** 此接口为系统接口。
5296
5297**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5298
5299| 名称  | 值 | 说明        |
5300| ---- | ------ | ----------- |
5301| ATL1 | 10000  | 信任级别 1。 |
5302| ATL2 | 20000  | 信任级别 2。 |
5303| ATL3 | 30000  | 信任级别 3。 |
5304| ATL4 | 40000  | 信任级别 4。 |
5305
5306## Module<sup>8+</sup>
5307
5308表示获取信息的模块的枚举。
5309
5310**系统接口:** 此接口为系统接口。
5311
5312**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5313
5314| 名称       | 值 | 说明                     |
5315| --------- | ------ | ------------------------ |
5316| FACE_AUTH | 1      | 表示从人脸认证获取的信息。 |
5317
5318## ResultCode<sup>8+</sup>
5319
5320表示身份验证结果码。
5321
5322**系统接口:** 此接口为系统接口。
5323
5324**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5325
5326| 名称                    | 值 | 说明                                     |
5327| ----------------------- | ----- | ---------------------------------------- |
5328| SUCCESS                 | 0     | 表示身份验证成功或支持此功能。             |
5329| FAIL                    | 1     | 表示验证器无法识别用户。                   |
5330| GENERAL_ERROR           | 2     | 表示其他错误。                            |
5331| CANCELED                | 3     | 表示身份验证已取消。                       |
5332| TIMEOUT                 | 4     | 表示身份验证已超时。                       |
5333| TYPE_NOT_SUPPORT        | 5     | 表示不支持此身份验证类型。                 |
5334| TRUST_LEVEL_NOT_SUPPORT | 6     | 表示不支持身份验证信任级别。               |
5335| BUSY                    | 7     | 表示身份验证任务正忙。等待几秒钟,然后重试。 |
5336| INVALID_PARAMETERS      | 8     | 表示参数不正确。                          |
5337| LOCKED                  | 9     | 指示身份验证器已锁定。                     |
5338| NOT_ENROLLED            | 10    | 表示用户尚未注册验证器。                   |
5339
5340## FaceTipsCode<sup>8+</sup>
5341
5342表示人脸验证过程中提示的枚举。
5343
5344**系统接口:** 此接口为系统接口。
5345
5346**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5347
5348| 名称                          | 值 | 说明                                     |
5349| ----------------------------- | ----- | ---------------------------------------- |
5350| FACE_AUTH_TIP_TOO_BRIGHT      | 1     | 表示由于高照明,获得的面部图像太亮。         |
5351| FACE_AUTH_TIP_TOO_DARK        | 2     | 表示由于照明度低,获得的面部图像太暗。       |
5352| FACE_AUTH_TIP_TOO_CLOSE       | 3     | 表示面部离设备太近。                       |
5353| FACE_AUTH_TIP_TOO_FAR         | 4     | 表示面部离设备太远。                       |
5354| FACE_AUTH_TIP_TOO_HIGH        | 5     | 表示设备太高,仅捕捉面部上部。              |
5355| FACE_AUTH_TIP_TOO_LOW         | 6     | 表示设备太低,仅捕捉面部下部。              |
5356| FACE_AUTH_TIP_TOO_RIGHT       | 7     | 指示设备向右偏移,并且仅捕捉面部的右侧部分。 |
5357| FACE_AUTH_TIP_TOO_LEFT        | 8     | 指示设备向左偏移,并且仅捕捉面部的左侧部分。 |
5358| FACE_AUTH_TIP_TOO_MUCH_MOTION | 9     | 表示面部信息收集过程中面部移动过快。         |
5359| FACE_AUTH_TIP_POOR_GAZE       | 10    | 表示面未朝向设备。                         |
5360| FACE_AUTH_TIP_NOT_DETECTED    | 11    | 表示未检测到人脸。                         |
5361
5362## FingerprintTips<sup>8+</sup>
5363
5364表示指纹身份验证过程中提示的枚举。
5365
5366**系统接口:** 此接口为系统接口。
5367
5368**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount
5369
5370| 名称                          | 值 | 说明                                            |
5371| ----------------------------- | ----- | ----------------------------------------------- |
5372| FINGERPRINT_TIP_GOOD          | 0     | 表明采集的图像良好。                              |
5373| FINGERPRINT_TIP_IMAGER_DIRTY  | 1     | 表示由于传感器上可疑或检测到污垢,指纹图像噪声过大。 |
5374| FINGERPRINT_TIP_INSUFFICIENT  | 2     | 表示由于检测到的情况,指纹图像噪声太大,无法处理。   |
5375| FINGERPRINT_TIP_PARTIAL       | 3     | 指示仅检测到部分指纹图像。                         |
5376| FINGERPRINT_TIP_TOO_FAST      | 4     | 表示指纹图像由于快速运动而不完整。                  |
5377| FINGERPRINT_TIP_TOO_SLOW      | 5     | 表示由于缺少运动,指纹图像无法读取。                |
5378
5379## OsAccountInfo
5380
5381表示系统帐号信息。
5382
5383**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount5384
5385| 名称                         | 类型                                                         | 必填 | 说明                              |
5386| ------------------------------ | ------------------------------------------------------------ | ---- | --------------------------------- |
5387| localId                        | number                                                       | 是   | 系统帐号ID。                      |
5388| localName                      | string                                                       | 是   | 系统帐号名称。                    |
5389| type                           | [OsAccountType](#osaccounttype)                              | 是   | 系统帐号类型                      |
5390| constraints                    | Array&lt;string&gt;                                          | 否   | 系统帐号[约束](#系统帐号约束列表) |
5391| isVerified<sup>8+</sup>        | boolean                                                      | 是   | 帐号是否验证                      |
5392| photo<sup>8+</sup>             | string                                                       | 否   | 系统帐号头像                      |
5393| createTime<sup>8+</sup>        | number                                                       | 是   | 系统帐号创建时间                  |
5394| lastLoginTime<sup>8+</sup>     | number                                                       | 否   | 系统帐号最后一次登录时间          |
5395| serialNumber<sup>8+</sup>      | number                                                       | 是   | 系统帐号SN码                      |
5396| isActived<sup>8+</sup>         | boolean                                                      | 是   | 系统帐号激活状态                  |
5397| isCreateCompleted<sup>8+</sup> | boolean                                                      | 是   | 系统帐号创建是否完整              |
5398| distributedInfo                | [distributedAccount.DistributedInfo](js-apis-distributed-account.md) | 否   | 分布式帐号信息                    |
5399| domainInfo<sup>8+</sup>        | [DomainAccountInfo](#domainaccountinfo8)                      | 否   | 域帐号信息                        |
5400
5401## DomainAccountInfo<sup>8+</sup>
5402
5403表示域帐号信息。
5404
5405**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount5406
5407| 名称      | 类型   | 必填 | 说明       |
5408| ----------- | ------ | ---- | ---------- |
5409| domain      | string | 是   | 域名。     |
5410| accountName | string | 是   | 域帐号名。 |
5411
5412## 系统帐号约束列表
5413
5414| 约束                                  | 说明                           |
5415| ------------------------------------- | ------------------------------ |
5416| constraint.wifi                       | 禁止使用Wi-Fi                  |
5417| constraint.wifi.set                   | 禁止配置Wi-Fi                  |
5418| constraint.locale.set                 | 禁止配置设备语言               |
5419| constraint.app.accounts               | 禁止添加和删除应用帐号         |
5420| constraint.apps.install               | 禁止安装应用                   |
5421| constraint.apps.uninstall             | 禁止卸载应用                   |
5422| constraint.location.shared            | 禁止打开位置共享               |
5423| constraint.unknown.sources.install    | 禁止安装未知来源的应用         |
5424| constraint.global.unknown.app.install | 禁止所有用户安装未知来源的应用 |
5425| constraint.bluetooth.set              | 禁止配置蓝牙                   |
5426| constraint.bluetooth | 禁止使用蓝牙 |
5427| constraint.bluetooth.share | 禁止共享使用蓝牙 |
5428| constraint.usb.file.transfer | 禁止通过USB传输文件 |
5429| constraint.credentials.set | 禁止配置用户凭据 |
5430| constraint.os.account.remove | 禁止删除用户 |
5431| constraint.managed.profile.remove | 禁止删除此用户的托管配置文件 |
5432| constraint.debug.features.use | J禁止启用或访问调试功能 |
5433| constraint.vpn.set | 禁止配置VPN |
5434| constraint.date.time.set | 禁止配置日期时间和时区 |
5435| constraint.tethering.config | 禁止配置Tethering |
5436| constraint.network.reset | 禁止重置网络设置 |
5437| constraint.factory.reset | 禁止出厂设置 |
5438| constraint.os.account.create | 禁止创建新用户 |
5439| constraint.add.managed.profile | 禁止添加托管配置文件 |
5440| constraint.apps.verify.disable | 强制应用程序验证 |
5441| constraint.cell.broadcasts.set | 禁止配置小区广播 |
5442| constraint.mobile.networks.set | 禁止配置移动网络 |
5443| constraint.control.apps | 禁止在设置或启动模块中修改应用程序 |
5444| constraint.physical.media | 禁止装载物理外部介质 |
5445| constraint.microphone | 禁止使用麦克风 |
5446| constraint.microphone.unmute | 禁止取消麦克风静音 |
5447| constraint.volume.adjust | 禁止调整音量 |
5448| constraint.calls.outgoing | 禁止拨打外呼电话 |
5449| constraint.sms.use | 禁止发送或接收短信 |
5450| constraint.fun | 禁止享受乐趣 |
5451| constraint.windows.create | 禁止创建应用程序窗口以外的窗口 |
5452| constraint.system.error.dialogs | 禁止显示崩溃或无响应应用程序的系统错误对话框 |
5453| constraint.cross.profile.copy.paste | 禁止通过将数据粘贴到其他用户或配置文件来导出剪贴板内容 |
5454| constraint.beam.outgoing | 禁止使用NFC从应用程序传送数据 |
5455| constraint.wallpaper | 禁止管理壁纸 |
5456| constraint.safe.boot | 禁止进入安全引导模式 |
5457| constraint.parent.profile.app.linking | 允许父配置文件中的应用程序处理来自托管配置文件的Web链接 |
5458| constraint.audio.record | 禁止录制音频 |
5459| constraint.camera.use | 禁止使用摄像机 |
5460| constraint.os.account.background.run | 禁止在后台运行 |
5461| constraint.data.roam | 禁止漫游通话时使用蜂窝数据 |
5462| constraint.os.account.set.icon | 禁止修改用户头像 |
5463| constraint.wallpaper.set | 禁止设置壁纸 |
5464| constraint.oem.unlock | 禁止启用oem解锁 |
5465| constraint.device.unmute | 禁止取消设备静音 |
5466| constraint.password.unified | 禁止托管配置文件与主用户进行统一锁屏质询 |
5467| constraint.autofill | 禁止使用自动填充服务 |
5468| constraint.content.capture | 禁止捕获用户屏幕 |
5469| constraint.content.suggestions | 禁止接收内容建议 |
5470| constraint.os.account.start | 禁止切换用户 |
5471| constraint.location.set | 禁止配置位置服务 |
5472| constraint.airplane.mode.set | 禁止飞行模式 |
5473| constraint.brightness.set | 禁止配置亮度 |
5474| constraint.share.into.profile | 禁止将主要用户的文件/图片/数据共享到托管配置文件中 |
5475| constraint.ambient.display | 禁止显示环境 |
5476| constraint.screen.timeout.set | 禁止配置屏幕关闭的超时 |
5477| constraint.print | 禁止打印 |
5478| constraint.private.dns.set | 禁止配置专用DNS |
5479
5480## ConstraintSourceTypeInfo<sup>9+</sup>
5481
5482表示约束来源类型信息。
5483
5484**系统接口:** 此接口为系统接口。
5485
5486**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount5487
5488| 名称      | 类型   | 必填 | 说明       |
5489| ----------- | ------ | ---- | ---------- |
5490| localId      | number | 是   | 系统帐号ID     |
5491| type | [ConstraintSourceType](#constraintsourcetype) | 是   | 约束来源类型 |
5492
5493## ConstraintSourceType<sup>9+</sup>
5494
5495表示约束来源类型的枚举。
5496
5497**系统接口:** 此接口为系统接口。
5498
5499**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount5500
5501| 名称   | 值 | 说明         |
5502| ------ | ------ | ------------ |
5503| CONSTRAINT_NOT_EXIST  | 0      | 约束不存在 |
5504| CONSTRAINT_TYPE_BASE | 1      | 约束源自系统设置   |
5505| CONSTRAINT_TYPE_DEVICE_OWNER  | 2   | 约束源自设备所有者设置   |
5506| CONSTRAINT_TYPE_PROFILE_OWNER  | 3  | 约束源自资料所有者设置   |