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.OsAccount。 39 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<boolean>): void 148 149判断是否支持多系统帐号。使用callback异步回调。 150 151**系统能力:** SystemCapability.Account.OsAccount 152 153**参数:** 154 155| 参数名 | 类型 | 必填 | 说明 | 156| -------- | ---------------------------- | ---- | ------------------------------------------------------ | 157| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 185 186判断是否支持多系统帐号。使用Promise异步回调。 187 188**系统能力:** SystemCapability.Account.OsAccount 189 190**返回值:** 191 192| 类型 | 说明 | 193| :--------------------- | :--------------------------------------------------------- | 194| Promise<boolean> | 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<boolean>): void 220 221判断指定系统帐号是否处于激活状态。使用callback异步回调。 222 223**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 224 225**系统能力:** SystemCapability.Account.OsAccount 226 227**参数:** 228 229| 参数名 | 类型 | 必填 | 说明 | 230| -------- | ---------------------------- | ---- | ------------------------------------------------------ | 231| localId | number | 是 | 系统帐号ID。 | 232| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 263 264判断指定系统帐号是否处于激活状态。使用Promise异步回调。 265 266**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<boolean> | 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<boolean>): void 309 310判断指定系统帐号是否具有指定约束。使用callback异步回调。 311 312**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<boolean> | 是 | 回调函数。返回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<boolean> 354 355判断指定系统帐号是否具有指定约束。使用Promise异步回调。 356 357**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<boolean> | 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<boolean>): void 402 403检查当前系统帐号是否为测试帐号。使用callback异步回调。 404 405**系统能力:** SystemCapability.Account.OsAccount 406 407**参数:** 408 409| 参数名 | 类型 | 必填 | 说明 | 410| -------- | ---------------------------- | ---- | --------------------------------------------------------------------- | 411| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 439 440检查当前系统帐号是否为测试帐号。使用Promise异步回调。 441 442**系统能力:** SystemCapability.Account.OsAccount 443 444**返回值:** 445 446| 类型 | 说明 | 447| ---------------------- | ------------------------------------------------------------------------ | 448| Promise<boolean> | 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<boolean>): void 474 475检查当前系统帐号是否已验证。使用callback异步回调。 476 477**系统能力:** SystemCapability.Account.OsAccount 478 479**参数:** 480 481| 参数名 | 类型 | 必填 | 说明 | 482| -------- | ---------------------------- | ---- | ------------------------------------------------------------- | 483| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean>): void 511 512检查指定系统帐号是否已验证。使用callback异步回调。 513 514**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 515 516**系统能力:** SystemCapability.Account.OsAccount 517 518**参数:** 519 520| 参数名 | 类型 | 必填 | 说明 | 521| -------- | ---------------------------- | ---- | ------------------------------------------------------------- | 522| localId | number | 是 | 系统帐号ID。 | 523| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 554 555检查指定系统帐号是否已验证。使用Promise异步回调。 556 557**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<boolean> | 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<void>): 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<void> | 是 | 回调函数。如果删除帐号成功,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<void> 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<void> | 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<string>, enable: boolean,callback: AsyncCallback<void>): 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<string> | 是 | 待设置/删除的[约束](#系统帐号约束列表)列表。 | 714| enable | boolean | 是 | 设置(true)/删除(false) | 715| callback | AsyncCallback<void> | 是 | 回调函数。如果设置成功,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<string>, enable: boolean): Promise<void> 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<string> | 是 | 待设置/删除的[约束](#系统帐号约束列表)列表。 | 763| enable | boolean | 是 | 设置(true)/删除(false)。 | 764 765**返回值:** 766 767| 类型 | 说明 | 768| :------------------ | :----------------------------------- | 769| Promise<void> | 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<void>): 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<void> | 是 | 回调函数。如果设置成功,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<void> 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<void> | 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<number>): void 898 899获取已创建的系统帐号数量。使用callback异步回调。 900 901**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 902 903**系统能力:** SystemCapability.Account.OsAccount 904 905**参数:** 906 907| 参数名 | 类型 | 必填 | 说明 | 908| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- | 909| callback | AsyncCallback<number> | 是 | 回调函数。当获取成功时,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<number> 937 938获取已创建的系统帐号数量。使用Promise异步回调。 939 940**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 941 942**系统能力:** SystemCapability.Account.OsAccount 943 944**返回值:** 945 946| 类型 | 说明 | 947| --------------------- | -------------------------------------- | 948| Promise<number> | 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<number>): void 974 975获取当前进程所属的系统帐号ID,使用callback异步回调。 976 977**系统能力:** SystemCapability.Account.OsAccount 978 979**参数:** 980 981| 参数名 | 类型 | 必填 | 说明 | 982| -------- | --------------------------- | ---- | ---------------------------------------------------------------------------- | 983| callback | AsyncCallback<number> | 是 | 回调函数。当获取成功时,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<number> 1011 1012获取当前进程所属的系统帐号ID,使用Promise异步回调。 1013 1014**系统能力:** SystemCapability.Account.OsAccount 1015 1016**返回值:** 1017 1018| 类型 | 说明 | 1019| --------------------- | ---------------------------------------- | 1020| Promise<number> | 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<number>): void 1046 1047根据uid查询对应的系统帐号ID,使用callback异步回调。 1048 1049**系统能力:** SystemCapability.Account.OsAccount 1050 1051**参数:** 1052 1053| 参数名 | 类型 | 必填 | 说明 | 1054| -------- | --------------------------- | ---- | --------------------------------------------------------------------- | 1055| uid | number | 是 | 进程uid。 | 1056| callback | AsyncCallback<number> | 是 | 回调函数。如果查询成功,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数。如果查询成功,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<number> 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<number> | 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<number>): void 1215 1216查询允许创建的系统帐号的最大数量。使用callback异步回调。 1217 1218**系统接口:** 此接口为系统接口。 1219 1220**系统能力:** SystemCapability.Account.OsAccount 1221 1222**参数:** 1223 1224| 参数名 | 类型 | 必填 | 说明 | 1225| -------- | --------------------------- | ---- | -------------------------------------------------------------------------------- | 1226| callback | AsyncCallback<number> | 是 | 回调函数,如果查询成功,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<number> 1254 1255查询允许创建的系统帐号的最大数量。使用Promise异步回调。 1256 1257**系统接口:** 此接口为系统接口。 1258 1259**系统能力:** SystemCapability.Account.OsAccount 1260 1261**返回值:** 1262 1263| 类型 | 说明 | 1264| --------------------- | ------------------------------------------- | 1265| Promise<number> | 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<Array<string>>): 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<Array<string>> | 是 | 回调函数,如果获取成功,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<Array<string>> 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<Array<string>> | 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<Array<OsAccountInfo>>): 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<Array<[OsAccountInfo](#osaccountinfo)>> | 是 | 回调函数。如果查询成功,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<Array<OsAccountInfo>> 1418 1419查询已创建的所有系统帐号的信息列表。使用Promise异步回调。 1420 1421**系统接口:** 此接口为系统接口。 1422 1423**系统能力:** SystemCapability.Account.OsAccount 1424 1425**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1426 1427**返回值:** 1428 1429| 类型 | 说明 | 1430| ----------------------------------------------------------- | --------------------------------------------- | 1431| Promise<Array<[OsAccountInfo](#osaccountinfo)>> | 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<Array<number>>): void 1457 1458查询当前处于激活状态的系统帐号的ID列表。使用callback异步回调。 1459 1460**系统能力:** SystemCapability.Account.OsAccount 1461 1462**参数:** 1463 1464| 参数名 | 类型 | 必填 | 说明 | 1465| -------- | ---------------------------------------- | ---- | ------------------------------------------------------ | 1466| callback | AsyncCallback<Array<number>> | 是 | 回调函数。如果查询成功,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<Array<number>> 1494 1495查询当前处于激活状态的系统帐号的ID列表。使用Promise异步回调。 1496 1497**系统能力:** SystemCapability.Account.OsAccount 1498 1499**返回值:** 1500 1501| 类型 | 说明 | 1502| :--------------------------------- | :------------------------------------------------ | 1503| Promise<Array<number>> | 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<OsAccountInfo>): 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<[OsAccountInfo](#osaccountinfo)> | 是 | 回调函数。如果创建成功,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<OsAccountInfo> 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<[OsAccountInfo](#osaccountinfo)> | 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<OsAccountInfo>): 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<[OsAccountInfo](#osaccountinfo)> | 是 | 回调函数。如果创建成功,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<OsAccountInfo> 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<[OsAccountInfo](#osaccountinfo)> | 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<OsAccountInfo>): void 1719 1720查询当前进程所属的系统帐号的信息。使用callback异步回调。 1721 1722**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1723 1724**系统能力:** SystemCapability.Account.OsAccount 1725 1726**参数:** 1727 1728| 参数名 | 类型 | 必填 | 说明 | 1729| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------- | 1730| callback | AsyncCallback<[OsAccountInfo](#osaccountinfo)> | 是 | 回调函数。如果查询成功,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<OsAccountInfo> 1755 1756查询当前进程所属的系统帐号的信息。使用Promise异步回调。 1757 1758**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 1759 1760**系统能力:** SystemCapability.Account.OsAccount 1761 1762**返回值:** 1763 1764| 类型 | 说明 | 1765| ---------------------------------------------- | ----------------------------------------- | 1766| Promise<[OsAccountInfo](#osaccountinfo)> | 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<OsAccountInfo>): void 1792 1793查询指定系统帐号的信息。使用callback异步回调。 1794 1795**系统接口:** 此接口为系统接口。 1796 1797**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION 1798 1799**系统能力:** SystemCapability.Account.OsAccount 1800 1801**参数:** 1802 1803| 参数名 | 类型 | 必填 | 说明 | 1804| -------- | ---------------------------------------------------- | ---- | ------------------------------------------------------------------------ | 1805| localId | number | 是 | 要查询的系统帐号的ID。 | 1806| callback | AsyncCallback<[OsAccountInfo](#osaccountinfo)> | 是 | 回调函数。如果查询成功,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<OsAccountInfo> 1834 1835查询指定系统帐号的信息。使用Promise异步回调。 1836 1837**系统接口:** 此接口为系统接口。 1838 1839**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<[OsAccountInfo](#osaccountinfo)> | 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<OsAccountType>): void 1882 1883查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。 1884 1885**系统能力:** SystemCapability.Account.OsAccount 1886 1887**参数:** 1888 1889| 参数名 | 类型 | 必填 | 说明 | 1890| -------- | ---------------------------------------------------- | ---- | ---------------------------------------------------- | 1891| callback | AsyncCallback<[OsAccountType](#osaccounttype)> | 是 | 回调函数。如果查询成功,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<OsAccountType> 1916 1917查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。 1918 1919**系统能力:** SystemCapability.Account.OsAccount 1920 1921**返回值:** 1922 1923| 类型 | 说明 | 1924| ---------------------------------------------- | ----------------------------------------------- | 1925| Promise<[OsAccountType](#osaccounttype)> | 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<string>): 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<string> | 是 | 回调函数。如果获取成功,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<string> 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<string> | 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<string>): 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<string> | 是 | 回调函数。如果获取成功,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<string> 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<string> | 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<void>): 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<void> | 是 | 回调函数。如果设置成功,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<void> 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<void> | 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<number>): void 2215 2216通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。 2217 2218**系统能力:** SystemCapability.Account.OsAccount 2219 2220**参数:** 2221 2222| 参数名 | 类型 | 必填 | 说明 | 2223| ------------ | --------------------------- | ---- | ---------------------------------------------------------------------------- | 2224| serialNumber | number | 是 | 帐号SN码。 | 2225| callback | AsyncCallback<number> | 是 | 回调函数。如果成功,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<number> 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<number> | 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<number>): void 2297 2298通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。 2299 2300**系统能力:** SystemCapability.Account.OsAccount 2301 2302**参数:** 2303 2304| 参数名 | 类型 | 必填 | 说明 | 2305| -------- | --------------------------- | ---- | -------------------------------------------------------------------------- | 2306| localId | number | 是 | 系统帐号ID。 | 2307| callback | AsyncCallback<number> | 是 | 回调函数。如果获取成功,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<number> 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<number> | 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<number>): 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<number> | 是 | 订阅系统帐号激活完成与激活中的事件回调,表示激活完成后或正在激活中的系统帐号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<number>): 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<number> | 否 | 取消订阅系统帐号激活完成与激活中的事件回调,默认返回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<number>): 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<number> | 是 | 回调函数。如果查询成功,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<number>; 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<number> | 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<boolean>): 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<boolean> | 是 | 回调函数,返回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<boolean>; 2583 2584查询当前进程是否处于主用户,使用Promise异步回调。 2585 2586**系统接口:** 此接口为系统接口。 2587 2588**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 2589 2590**系统能力:** SystemCapability.Account.OsAccount 2591 2592**返回值:** 2593 2594| 类型 | 说明 | 2595| ---------------------- | --------------------------------------------------------------------- | 2596| Promise<boolean> | 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<Array<ConstraintSourceTypeInfo>>): 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<Array<[ConstraintSourceTypeInfo](#constraintsourcetypeinfo)>> | 是 | 回调函数。如果成功,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<Array<ConstraintSourceTypeInfo>>; 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<Array<[ConstraintSourceTypeInfo](#constraintsourcetypeinfo)>> | 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<boolean>): 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<boolean> | 是 | 回调函数。返回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<boolean> 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<boolean> | 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<boolean>): void 2772 2773判断指定系统帐号是否处于激活状态。使用callback异步回调。 2774 2775> **说明:** 2776> 2777> 从 API version 7开始支持从API version 9开始废弃, 建议使用[checkOsAccountActivated](#checkosaccountactivated9)。 2778 2779**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 2780 2781**系统能力:** SystemCapability.Account.OsAccount 2782 2783**参数:** 2784 2785| 参数名 | 类型 | 必填 | 说明 | 2786| -------- | ---------------------------- | ---- | ------------------------------------------------------ | 2787| localId | number | 是 | 系统帐号ID。 | 2788| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 2807 2808判断指定系统帐号是否处于激活状态。使用Promise异步回调。 2809 2810> **说明:** 2811> 2812> 从 API version 7开始支持从API version 9开始废弃, 建议使用[checkOsAccountActivated](#checkosaccountactivated9-1)。 2813 2814**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<boolean> | 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<boolean>): 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<boolean> | 是 | 回调函数。返回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<boolean> 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<boolean> | 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<boolean>): 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<boolean> | 是 | 回调函数。返回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<boolean> 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<boolean> | 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<boolean>): void 2982 2983检查当前系统帐号是否已验证。使用callback异步回调。 2984 2985> **说明:** 2986> 2987> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9)。 2988 2989**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 2990 2991**系统能力:** SystemCapability.Account.OsAccount 2992 2993**参数:** 2994 2995| 参数名 | 类型 | 必填 | 说明 | 2996| -------- | ---------------------------- | ---- | ------------------------------------------------------------- | 2997| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean>): void 3015 3016检查指定系统帐号是否已验证。使用callback异步回调。 3017 3018> **说明:** 3019> 3020> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-1)。 3021 3022**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS 3023 3024**系统能力:** SystemCapability.Account.OsAccount 3025 3026**参数:** 3027 3028| 参数名 | 类型 | 必填 | 说明 | 3029| -------- | ---------------------------- | ---- | ------------------------------------------------------------- | 3030| localId | number | 是 | 系统帐号ID。 | 3031| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 3050 3051检查指定系统帐号是否已验证。使用Promise异步回调。 3052 3053> **说明:** 3054> 3055> 从 API version 7开始支持,从API version 9开始废弃。建议使用[checkOsAccountVerified](#checkosaccountverified9-2)。 3056 3057**需要权限:** ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.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<boolean> | 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<number>): 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<number> | 是 | 回调函数。当获取成功时,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数。当获取成功时,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数。如果查询成功,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数,如果获取成功,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<number> 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<number> | 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<Array<string>>): 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<Array<string>> | 是 | 回调函数。如果获取成功,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<Array<string>> 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<Array<string>> | 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<Array<number>>): 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<Array<number>> | 是 | 回调函数。如果查询成功,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<Array<number>> 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<Array<number>> | 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<OsAccountInfo>): 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<[OsAccountInfo](#osaccountinfo)> | 是 | 回调函数。如果查询成功,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<OsAccountInfo> 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<[OsAccountInfo](#osaccountinfo)> | 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<OsAccountType>): 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<[OsAccountType](#osaccounttype)> | 是 | 回调函数。如果查询成功,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<OsAccountType> 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<[OsAccountType](#osaccounttype)> | 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<string>): void 3601 3602获取分布式虚拟设备ID。使用callback异步回调。 3603 3604> **说明:** 3605> 3606> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9)。 3607 3608**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS 3609 3610**系统能力:** SystemCapability.Account.OsAccount 3611 3612**参数:** 3613 3614| 参数名 | 类型 | 必填 | 说明 | 3615| -------- | --------------------------- | ---- | --------------------------------------------------------------------- | 3616| callback | AsyncCallback<string> | 是 | 回调函数。如果获取成功,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<string> 3631 3632获取分布式虚拟设备ID。使用Promise异步回调。 3633 3634> **说明:** 3635> 3636> 从 API version 7开始支持,从API version 9开始废弃。建议使用[queryDistributedVirtualDeviceId](#querydistributedvirtualdeviceid9-1)。 3637 3638**需要权限:** ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS 3639 3640**系统能力:** SystemCapability.Account.OsAccount 3641 3642**返回值:** 3643 3644| 类型 | 说明 | 3645| --------------------- | --------------------------------- | 3646| Promise<string> | 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<number>): 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<number> | 是 | 回调函数。如果查询成功,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<number> 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<number> | 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<number>): 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<number> | 是 | 回调函数。如果获取成功,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<number> 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<number> | 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<ExecutorProperty>): 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<[ExecutorProperty](#executorproperty8)> | 是 | 回调函数。如果获取成功,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<ExecutorProperty>; 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<[ExecutorProperty](#executorproperty8)> | 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<void>): 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<void> | 是 | 回调函数。如果设置成功,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<void>; 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<void> | 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<Uint8Array>): 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<Uint8Array> | 是 | 回调函数。如果打开会话成功,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<Uint8Array>; 4503 4504打开会话,获取挑战值。使用Promise异步回调。 4505 4506**系统接口:** 此接口为系统接口。 4507 4508**系统能力:** SystemCapability.Account.OsAccount 4509 4510**需要权限:** ohos.permission.MANAGE_USER_IDM 4511 4512**返回值:** 4513 4514| 类型 | 说明 | 4515| :------------------------ | ----------------------- | 4516| Promise<Uint8Array> | 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<Array<EnrolledCredInfo>>): 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<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | 是 | 回调函数。如果成功,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<Array<EnrolledCredInfo>>): 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<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | 是 | 回调函数,如果获取成功,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<Array<EnrolledCredInfo>>; 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<Array<[EnrolledCredInfo](#enrolledcredinfo8)>> | 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<[GetPropertyType](#getpropertytype8)> | 是 | 指示要获取的属性类型数组。 | 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.OsAccount。 5384 5385| 名称 | 类型 | 必填 | 说明 | 5386| ------------------------------ | ------------------------------------------------------------ | ---- | --------------------------------- | 5387| localId | number | 是 | 系统帐号ID。 | 5388| localName | string | 是 | 系统帐号名称。 | 5389| type | [OsAccountType](#osaccounttype) | 是 | 系统帐号类型 | 5390| constraints | Array<string> | 否 | 系统帐号[约束](#系统帐号约束列表) | 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.OsAccount。 5406 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.OsAccount。 5487 5488| 名称 | 类型 | 必填 | 说明 | 5489| ----------- | ------ | ---- | ---------- | 5490| localId | number | 是 | 系统帐号ID | 5491| type | [ConstraintSourceType](#constraintsourcetype) | 是 | 约束来源类型 | 5492 5493## ConstraintSourceType<sup>9+</sup> 5494 5495表示约束来源类型的枚举。 5496 5497**系统接口:** 此接口为系统接口。 5498 5499**系统能力:** 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。 5500 5501| 名称 | 值 | 说明 | 5502| ------ | ------ | ------------ | 5503| CONSTRAINT_NOT_EXIST | 0 | 约束不存在 | 5504| CONSTRAINT_TYPE_BASE | 1 | 约束源自系统设置 | 5505| CONSTRAINT_TYPE_DEVICE_OWNER | 2 | 约束源自设备所有者设置 | 5506| CONSTRAINT_TYPE_PROFILE_OWNER | 3 | 约束源自资料所有者设置 |