Distributed Account Management

The distributedAccount module provides basic functions for managing distributed accounts, including querying and updating account login status.

icon-note.gif NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import account_distributedAccount from '@ohos.account.distributedAccount';

account_distributedAccount.getDistributedAccountAbility

getDistributedAccountAbility(): DistributedAccountAbility

Obtains a DistributedAccountAbility instance.

System capability: SystemCapability.Account.OsAccount

  • Return value
Type Description
DistributedAccountAbility DistributedAccountAbility instance obtained. This instance provides methods for querying and updating the login state of a distributed account.
  • Example
    const accountAbility = account_distributedAccount.getDistributedAccountAbility();
    

DistributedAccountAbility

Provides methods for querying and updating the login state of a distributed account. You must obtain a DistributedAccountAbility instance first.

queryOsAccountDistributedInfo

queryOsAccountDistributedInfo(callback: AsyncCallback<DistributedInfo>): void

Obtains distributed account information. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Account.OsAccount

Required permissions: ohos.permission.MANAGE_LOCAL_ACCOUNTS or ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)

  • Parameters
Name Type Mandatory Description
callback AsyncCallback<DistributedInfo> Yes Callback invoked to return the distributed account information obtained.
  • Example
    const accountAbility = account_distributedAccount.getDistributedAccountAbility();
    accountAbility.queryOsAccountDistributedInfo((err, data) => { 
        console.log("queryOsAccountDistributedInfo err: " + JSON.stringify(err));
        console.log('Query account info name: ' + data.name);
        console.log('Query account info id: ' + data.id);
    });
    

queryOsAccountDistributedInfo

queryOsAccountDistributedInfo(): Promise<DistributedInfo>

Obtains distributed account information. This API uses a promise to return the result.

System capability: SystemCapability.Account.OsAccount

Required permissions: ohos.permission.MANAGE_LOCAL_ACCOUNTS or ohos.permission.DISTRIBUTED_DATASYNC (available only to system applications)

  • Return value
Type Description
Promise<DistributedInfo> Promise used to return the distributed account information obtained.
  • Example
    const accountAbility = account_distributedAccount.getDistributedAccountAbility();
    accountAbility.queryOsAccountDistributedInfo().then((data) => { 
        console.log('Query account info name: ' + data.name);
        console.log('Query account info id: ' + data.id);
    }).catch((err) => {
        console.log("queryOsAccountDistributedInfoerr: "  + JSON.stringify(err));
    });
    

updateOsAccountDistributedInfo

updateOsAccountDistributedInfo(accountInfo: DistributedInfo, callback: AsyncCallback<void>): void

Updates distributed account information. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.Account.OsAccount

Required permissions: ohos.permission.MANAGE_LOCAL_ACCOUNTS (available only to system applications)

  • Parameters
Name Type Mandatory Description
accountInfo DistributedInfo Yes Distributed account information.
callback AsyncCallback<void> Yes Callback invoked when the distributed account information is updated.
  • Example
    const accountAbility = account_distributedAccount.getDistributedAccountAbility();
    let accountInfo = {id: '12345', name: 'ZhangSan', event: 'Ohos.account.event.LOGIN'};
    accountAbility.updateOsAccountDistributedInfo(accountInfo, (err) => { 
        console.log("queryOsAccountDistributedInfo err: " + JSON.stringify(err));
    });
    

updateOsAccountDistributedInfo

updateOsAccountDistributedInfo(accountInfo: DistributedInfo): Promise<void>

Updates distributed account information. This API uses a promise to return the result.

System capability: SystemCapability.Account.OsAccount

Required permissions: ohos.permission.MANAGE_LOCAL_ACCOUNTS (available only to system applications)

  • Parameters
Name Type Mandatory Description
accountInfo DistributedInfo Yes Distributed account information.
  • Return value
Type Description
Promise<void> Promise used to return the result.
  • Example
    const accountAbility = account_distributedAccount.getDistributedAccountAbility();
    let accountInfo = {id: '12345', name: 'ZhangSan', event: 'Ohos.account.event.LOGIN'};
    accountAbility.updateOsAccountDistributedInfo(accountInfo).then(() => {
        console.log('updateOsAccountDistributedInfo Success');
     }).catch((err) => {
        console.log("updateOsAccountDistributedInfo err: "  + JSON.stringify(err));
    });
    

DistributedInfo

Defines distributed OS account information.

System capability: SystemCapability.Account.OsAccount

Name Type Mandatory Description
name string Yes Name of a distributed account. It must be a non-null string.
id string Yes UID of a distributed account. It must be a non-null string.
event string Yes Login state of a distributed account. The state can be login, logout, token invalid, or logoff, which correspond to the following strings respectively:
- Ohos.account.event.LOGIN
- Ohos.account.event.LOGOUT
- Ohos.account.event.TOKEN_INVALID
- Ohos.account.event.LOGOFF
scalableData object No Extended information about a distributed account. Customized information is passed in key-value pairs.
Note: This parameter is reserved and not used in query and update methods.