@ohos.account.osAccount (系统帐号管理)

本模块提供管理系统帐号的基础能力,包括系统帐号的添加、删除、查询、设置、订阅、启动等功能。

icon-note.gif 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import account_osAccount from '@ohos.account.osAccount';

account_osAccount.getAccountManager

getAccountManager(): AccountManager

获取系统帐号管理对象。

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
AccountManager 系统帐号管理对象。

示例:

let accountManager = account_osAccount.getAccountManager();

OsAccountType

表示系统帐号类型的枚举。

系统能力: SystemCapability.Account.OsAccount。

名称 说明
ADMIN 0 管理员帐号。
NORMAL 1 普通帐号。
GUEST 2 访客帐号。

AccountManager

系统帐号管理类。

activateOsAccount

activateOsAccount(localId: number, callback: AsyncCallback<void>): void

激活指定系统帐号。使用callback异步回调。

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

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<void> 回调函数。当帐号激活成功时,err为null,否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.
12300008 Restricted Account.
12300009 Account has been activated.

示例: 激活ID为100的系统帐号

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.activateOsAccount(localId, (err)=>{
    if (err) {
      console.log("activateOsAccount failed, error:" + JSON.stringify(err));
    } else {
      console.log("activateOsAccount successfully");
    }
  });
} catch (err) {
  console.log("activateOsAccount exception:" + JSON.stringify(err));
}

activateOsAccount

activateOsAccount(localId: number): Promise<void>

激活指定系统帐号。使用Promise异步回调。

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

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<void> Promise对象,无返回结果的Promise对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.
12300008 Restricted Account.
12300009 Account has been activated.

示例: 激活ID为100的系统帐号

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.activateOsAccount(localId).then(() => {
    console.log('activateOsAccount successfully');
  }).catch((err) => {
    console.log('activateOsAccount failed, err:' + JSON.stringify(err));
  });
} catch (e) {
  console.log('activateOsAccount exception:' + JSON.stringify(e));
}

checkMultiOsAccountEnabled9+

checkMultiOsAccountEnabled(callback: AsyncCallback<boolean>): void

判断是否支持多系统帐号。使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数。返回true表示支持多系统帐号;返回false表示不支持。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.checkMultiOsAccountEnabled((err, isEnabled) => {
    if (err) {
      console.log("checkMultiOsAccountEnabled failed, error: " + JSON.stringify(err));
    } else {
    console.log("checkMultiOsAccountEnabled successfully, isEnabled: " + isEnabled);
    }
  });
} catch (err) {
  console.log("checkMultiOsAccountEnabled exception: " + JSON.stringify(err));
}

checkMultiOsAccountEnabled9+

checkMultiOsAccountEnabled(): Promise<boolean>

判断是否支持多系统帐号。使用Promise异步回调。

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示支持多系统帐号;返回false表示不支持。

错误码:

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

示例:

try {
  let accountManager = account_osAccount.getAccountManager();
  accountManager.checkMultiOsAccountEnabled().then((isEnabled) => {
    console.log('checkMultiOsAccountEnabled successfully, isEnabled: ' + isEnabled);
  }).catch((err) => {
    console.log('checkMultiOsAccountEnabled failed, error: '  + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkMultiOsAccountEnabled exception: ' + JSON.stringify(err));
}

checkOsAccountActivated9+

checkOsAccountActivated(localId: number, callback: AsyncCallback<boolean>): void

判断指定系统帐号是否处于激活状态。使用callback异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<boolean> 回调函数。返回true表示帐号已激活;返回false表示帐号未激活。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 判断ID为100的系统帐号是否处于激活状态

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.checkOsAccountActivated(localId, (err, isActivated) => {
    if (err) {
      console.log('checkOsAccountActivated failed, error:' + JSON.stringify(err));
    } else {
      console.log('checkOsAccountActivated successfully, isActivated:' + isActivated);
    }
  });
} catch (err) {
  console.log('checkOsAccountActivated exception:' + JSON.stringify(err));
}

checkOsAccountActivated9+

checkOsAccountActivated(localId: number): Promise<boolean>

判断指定系统帐号是否处于激活状态。使用Promise异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示帐号已激活;返回false表示帐号未激活。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 判断ID为100的系统帐号是否处于激活状态

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.checkOsAccountActivated(localId).then((isActivated) => {
    console.log('checkOsAccountActivated successfully, isActivated: ' + isActivated);
  }).catch((err) => {
    console.log('checkOsAccountActivated failed, error: '  + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkOsAccountActivated exception:' + JSON.stringify(err));
}

checkOsAccountConstraintEnabled9+

checkOsAccountConstraintEnabled(localId: number, constraint: string, callback: AsyncCallback<boolean>): void

判断指定系统帐号是否具有指定约束。使用callback异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
constraint string 指定的约束名称。
callback AsyncCallback<boolean> 回调函数。返回true表示已使能指定的约束;返回false表示未使能指定的约束。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid localId or constraint.
12300003 the account indicated by localId dose not exist.

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let constraint = "constraint.wifi";
try {
  accountManager.checkOsAccountConstraintEnabled(localId, constraint, (err, isEnabled)=>{
    if (err) {
      console.log("checkOsAccountConstraintEnabled failed, error: " + JSON.stringify(err));
    } else {
      console.log("checkOsAccountConstraintEnabled successfully, isEnabled: " + isEnabled);
    }
  });
} catch (err) {
  console.log("checkOsAccountConstraintEnabled exception: " + JSON.stringify(err));
}

checkOsAccountConstraintEnabled9+

checkOsAccountConstraintEnabled(localId: number, constraint: string): Promise<boolean>

判断指定系统帐号是否具有指定约束。使用Promise异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
constraint string 指定的约束名称。

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid localId or constraint.
12300003 the account indicated by localId dose not exist.

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let constraint = "constraint.wifi";
try {
  accountManager.checkOsAccountConstraintEnabled(localId, constraint).then((isEnabled) => {
    console.log("checkOsAccountConstraintEnabled successfully, isEnabled: " + isEnabled);
  }).catch((err) => {
    console.log("checkOsAccountConstraintEnabled failed, error: "  + JSON.stringify(err));
  });
} catch (err) {
  console.log("checkOsAccountConstraintEnabled exception: " + JSON.stringify(err));
}

checkOsAccountTestable9+

checkOsAccountTestable(callback: AsyncCallback<boolean>): void

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.checkOsAccountTestable((err, isTestable) => {
    if (err) {
      console.log("checkOsAccountTestable failed, error: " + JSON.stringify(err));
    } else {
      console.log("checkOsAccountTestable successfully, isTestable: " + isTestable);
    }
  });
} catch (err) {
  console.log("checkOsAccountTestable error: " + JSON.stringify(err));
}

checkOsAccountTestable9+

checkOsAccountTestable(): Promise<boolean>

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

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.checkOsAccountTestable().then((isTestable) => {
    console.log("checkOsAccountTestable successfully, isTestable: " + isTestable);
  }).catch((err) => {
    console.log("checkOsAccountTestable failed, error: "  + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkOsAccountTestable exception: ' + JSON.stringify(err));
}

checkOsAccountVerified9+

checkOsAccountVerified(callback: AsyncCallback<boolean>): void

检查当前系统帐号是否已验证。使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数。返回true表示当前帐号已验证;返回false表示当前帐号未验证。

错误码:

错误码ID 错误信息
12300001 system service exception.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.checkOsAccountVerified((err, isVerified) => {
    if (err) {
      console.log("checkOsAccountVerified failed, error: " + JSON.stringify(err));
    } else {
      console.log("checkOsAccountVerified successfully, isVerified: " + isVerified);
    }
  });
} catch (err) {
  console.log("checkOsAccountVerified exception: " + JSON.stringify(err));
}

checkOsAccountVerified9+

checkOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void

检查指定系统帐号是否已验证。使用callback异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<boolean> 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid localId.
12300003 the account indicated by localId dose not exist.

示例:

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.checkOsAccountVerified(localId, (err, isVerified) => {
    if (err) {
      console.log("checkOsAccountVerified failed, error: " + JSON.stringify(err));
    } else {
      console.log("checkOsAccountVerified successfully, isVerified: " + isVerified);
    }
  });
} catch (err) {
  console.log("checkOsAccountVerified exception: " + err);
}

checkOsAccountVerified9+

checkOsAccountVerified(localId: number): Promise<boolean>

检查指定系统帐号是否已验证。使用Promise异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示指定帐号已验证;返回false表示指定帐号未验证。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid localId.
12300003 the account indicated by localId dose not exist.

示例:

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.checkOsAccountVerified(localId).then((isVerified) => {
    console.log("checkOsAccountVerified successfully, isVerified: " + isVerified);
  }).catch((err) => {
    console.log("checkOsAccountVerified failed, error: " + JSON.stringify(err));
  });
} catch (err) {
  console.log('checkOsAccountVerified exception: ' + JSON.stringify(err));
}

removeOsAccount

removeOsAccount(localId: number, callback: AsyncCallback<void>): void

删除指定系统帐号。使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<void> 回调函数。如果删除帐号成功,err为null,否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.
12300008 Restricted Account.

示例:

let accountManager = account_osAccount.getAccountManager();
let accountName = "testAccountName";
try {
  accountManager.createOsAccount(accountName, account_osAccount.OsAccountType.NORMAL, (err, osAccountInfo) => {
    accountManager.removeOsAccount(osAccountInfo.localId, (err)=>{
      if (err) {
        console.log("removeOsAccount failed, error: " + JSON.stringify(err));
      } else {
        console.log("removeOsAccount successfully");
      }
    });
  });
} catch (err) {
  console.log('removeOsAccount exception:' + JSON.stringify(err));
}

removeOsAccount

removeOsAccount(localId: number): Promise<void>

删除指定系统帐号。使用Promise异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<void> Promise对象,无返回结果的Promise对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.
12300008 Restricted Account.

示例:

let accountManager = account_osAccount.getAccountManager();
let accountName = "testAccountName";
try {
  accountManager.createOsAccount(accountName, account_osAccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
    accountManager.removeOsAccount(osAccountInfo.localId).then(() => {
      console.log("removeOsAccount successfully");
    }).catch((err) => {
        console.log("removeOsAccount failed, error: " + JSON.stringify(err));
    });
  });
} catch (err) {
  console.log("removeOsAccount exception: " + JSON.stringify(err));
}

setOsAccountConstraints

setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean,callback: AsyncCallback<void>): void

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

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
constraints Array<string> 待设置/删除的约束列表。
enable boolean 设置(true)/删除(false)
callback AsyncCallback<void> 回调函数。如果设置成功,err为null,否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.
12300008 Restricted Account.

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let constraint = "constraint.wifi";
try {
  accountManager.setOsAccountConstraints(localId, [constraint], true, (err) => {
    if (err) {
      console.log("setOsAccountConstraints failed, error:" + JSON.stringify(err));
    } else {
      console.log("setOsAccountConstraints successfully");
    }
  });
} catch (err) {
  console.log("setOsAccountConstraints exception: " + JSON.stringify(err));
}

setOsAccountConstraints

setOsAccountConstraints(localId: number, constraints: Array<string>, enable: boolean): Promise<void>

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

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
constraints Array<string> 待设置/删除的约束列表。
enable boolean 设置(true)/删除(false)。

返回值:

类型 说明
Promise<void> Promise对象,无返回结果的Promise对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.
12300008 Restricted Account.

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.setOsAccountConstraints(localId, ['constraint.location.set'], false).then(() => {
    console.log('setOsAccountConstraints succsuccessfully');
  }).catch((err) => {
    console.log('setOsAccountConstraints failed, error: '  + JSON.stringify(err));
  });
} catch (err) {
  console.log('setOsAccountConstraints exception:' + JSON.stringify(err));
}

setOsAccountName

setOsAccountName(localId: number, localName: string, callback: AsyncCallback<void>): void

设置指定系统帐号的帐号名。使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
localName string 帐号名,最大长度为1024个字符。
callback AsyncCallback<void> 回调函数。如果设置成功,err为null,否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId or localName.
12300003 Account not found.
12300008 Restricted Account.

示例: 将ID为100的系统帐号的帐号名设置成demoName

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let name = "demoName";
try {
  accountManager.setOsAccountName(localId, name, (err) => {
    if (err) {
      console.log("setOsAccountName failed, error: " + JSON.stringify(err));
    } else {
      console.log("setOsAccountName successfully");
    }
  });
} catch (err) {
  console.log('setOsAccountName exception:' + JSON.stringify(err));
}

setOsAccountName

setOsAccountName(localId: number, localName: string): Promise<void>

设置指定系统帐号的帐号名。使用Promise异步调用。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<void> Promise对象,无返回结果的Promise对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId or localName.
12300003 Account not found.
12300008 Restricted Account.

示例: 将ID为100的系统帐号的帐号名设置成demoName

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let name = 'testName';
try {
  accountManager.setOsAccountName(localId, name).then(() => {
    console.log('setOsAccountName successfully');
  }).catch((err) => {
    console.log('setOsAccountName failed, error: '  + JSON.stringify(err));
  });
} catch (err) {
  console.log('setOsAccountName exception:' + JSON.stringify(err));
}

getOsAccountCount9+

getOsAccountCount(callback: AsyncCallback<number>): void

获取已创建的系统帐号数量。使用callback异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<number> 回调函数。当获取成功时,err为null,data为已创建的系统帐号的数量;否则为错误对象。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountCount((err, count) => {
    if (err) {
      console.log("getOsAccountCount failed, error: " + JSON.stringify(err));
    } else {
      console.log("getOsAccountCount successfully, count: " + count);
    }
  });
} catch (err) {
  console.log("getOsAccountCount exception: " + JSON.stringify(err));
}

getOsAccountCount9+

getOsAccountCount(): Promise<number>

获取已创建的系统帐号数量。使用Promise异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<number> Promise对象,返回已创建的系统帐号的数量。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountCount().then((count) => {
    console.log("getOsAccountCount successfully, count: " + count);
  }).catch((err) => {
    console.log("getOsAccountCount failed, error: " + JSON.stringify(err));
  });
} catch(err) {
  console.log('getOsAccountCount exception:' + JSON.stringify(err));
}

getOsAccountLocalId9+

getOsAccountLocalId(callback: AsyncCallback<number>): void

获取当前进程所属的系统帐号ID,使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<number> 回调函数。当获取成功时,err为null,data为当前进程所属的系统帐号ID;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountLocalId((err, localId) => {
    if (err) {
      console.log("getOsAccountLocalId failed, error: " + JSON.stringify(err));
    } else {
      console.log("getOsAccountLocalId successfully, localId: " + localId);
    }
  });
} catch (err) {
  console.log("getOsAccountLocalId exception: " + JSON.stringify(err));
}

getOsAccountLocalId9+

getOsAccountLocalId(): Promise<number>

获取当前进程所属的系统帐号ID,使用Promise异步回调。

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<number> Promise对象,返回当前进程所属的系统帐号ID。

错误码:

错误码ID 错误信息
12300001 system service exception.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountLocalId().then((localId) => {
    console.log("getOsAccountLocalId successfully, localId: " + localId);
  }).catch((err) => {
    console.log("getOsAccountLocalId failed, error: "  + JSON.stringify(err));
  });
} catch (err) {
  console.log('getOsAccountLocalId exception: ' + JSON.stringify(err));
}

getOsAccountLocalIdForUid9+

getOsAccountLocalIdForUid(uid: number, callback: AsyncCallback<number>): void

根据uid查询对应的系统帐号ID,使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
uid number 进程uid。
callback AsyncCallback<number> 回调函数。如果查询成功,err为null,data为对应的系统帐号ID;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid uid.

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

let accountManager = account_osAccount.getAccountManager();
let uid = 12345678;
try {
  accountManager.getOsAccountLocalIdForUid(uid, (err, localId) => {
    if (err) {
      console.log("getOsAccountLocalIdForUid failed, error: " + JSON.stringify(err));
    }
    console.log("getOsAccountLocalIdForUid successfully, localId: " + localId);
  });
} catch (err) {
  console.log("getOsAccountLocalIdForUid exception: " + JSON.stringify(err));
}

getOsAccountLocalIdForUid9+

getOsAccountLocalIdForUid(uid: number): Promise<number>

根据uid查询对应的系统帐号ID,使用Promise异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回指定uid对应的系统帐号ID。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid uid.

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

let accountManager = account_osAccount.getAccountManager();
let uid = 12345678;
try {
  accountManager.getOsAccountLocalIdForUid(uid).then((localId) => {
    console.log("getOsAccountLocalIdForUid successfully, localId: " + localId);
  }).catch((err) => {
    console.log("getOsAccountLocalIdForUid failed, error: " + JSON.stringify(err));
  });
} catch (err) {
  console.log('getOsAccountLocalIdForUid exception: ' + JSON.stringify(err));
}

getOsAccountLocalIdForDomain9+

getOsAccountLocalIdForDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback<number>): void

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
domainInfo DomainAccountInfo 域帐号信息。
callback AsyncCallback<number> 回调函数。如果查询成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid domainInfo.

示例:

let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountLocalIdForDomain(domainInfo, (err, localId) => {
    if (err) {
      console.log("getOsAccountLocalIdForDomain failed, error: " + JSON.stringify(err));
    } else {
      console.log("getOsAccountLocalIdForDomain successfully, localId: " + localId);
    }
  });
} catch (err) {
  console.log('getOsAccountLocalIdForDomain exception: ' + JSON.stringify(err));
}

getOsAccountLocalIdForDomain9+

getOsAccountLocalIdForDomain(domainInfo: DomainAccountInfo): Promise<number>

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
domainInfo DomainAccountInfo 域帐号信息。

返回值:

类型 说明
Promise<number> Promise对象,返回域帐号关联的系统帐号ID。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid domainInfo.

示例:

let accountManager = account_osAccount.getAccountManager();
let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
try {
  accountManager.getOsAccountLocalIdForDomain(domainInfo).then((localId) => {
    console.log("getOsAccountLocalIdForDomain successfully, localId: " + localId);
  }).catch((err) => {
    console.log("getOsAccountLocalIdForDomain failed, error: "  + JSON.stringify(err));
  });
} catch (err) {
  console.log("getOsAccountLocalIdForDomain exception: " + JSON.stringify(err));
}

queryMaxOsAccountNumber

queryMaxOsAccountNumber(callback: AsyncCallback<number>): void

查询允许创建的系统帐号的最大数量。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<number> 回调函数,如果查询成功,err为null,data为允许创建的系统帐号的最大数量;否则为错误对象。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.queryMaxOsAccountNumber((err, maxCnt) => {
    if (err) {
      console.log('queryMaxOsAccountNumber failed, error:' + JSON.stringify(err));
    } else {
      console.log('queryMaxOsAccountNumber successfully, maxCnt:' + maxCnt);
    }
  });
} catch (err) {
  console.log('queryMaxOsAccountNumber exception:' + JSON.stringify(err));
}

queryMaxOsAccountNumber

queryMaxOsAccountNumber(): Promise<number>

查询允许创建的系统帐号的最大数量。使用Promise异步回调。

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

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<number> Promise对象,返回允许创建的系统帐号的最大数量。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.queryMaxOsAccountNumber().then((maxCnt) => {
    console.log('queryMaxOsAccountNumber successfully, maxCnt: ' + maxCnt);
  }).catch((err) => {
    console.log('queryMaxOsAccountNumber failed, error: '  + JSON.stringify(err));
  });
} catch (err) {
  console.log('queryMaxOsAccountNumber exception:' + JSON.stringify(err));
}

getOsAccountConstraints9+

getOsAccountConstraints(localId: number, callback: AsyncCallback<Array<string>>): void

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<Array<string>> 回调函数,如果获取成功,err为null,data为该系统帐号的全部约束;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 获取ID为100的系统帐号的全部约束

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.getOsAccountConstraints(localId, (err, constraints) => {
    if (err) {
      console.log("getOsAccountConstraints failed, err: " + JSON.stringify(err));
    } else {
      console.log("getOsAccountConstraints successfully, constraints: " + JSON.stringify(constraints));
    }
  });
} catch (err) {
  console.log('getOsAccountConstraints exception:' + JSON.stringify(err));
}

getOsAccountConstraints9+

getOsAccountConstraints(localId: number): Promise<Array<string>>

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<Array<string>> Promise对象,返回指定系统帐号的全部约束

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 获取ID为100的系统帐号的全部约束

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.getOsAccountConstraints(localId).then((constraints) => {
    console.log('getOsAccountConstraints, constraints: ' + constraints);
  }).catch((err) => {
    console.log('getOsAccountConstraints err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getOsAccountConstraints exception:' + JSON.stringify(e));
}

queryAllCreatedOsAccounts

queryAllCreatedOsAccounts(callback: AsyncCallback<Array<OsAccountInfo>>): void

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

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<OsAccountInfo>> 回调函数。如果查询成功,err为null,data为已创建的所有系统帐号的信息列表;否则为错误对象。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.queryAllCreatedOsAccounts((err, accountArr)=>{
    console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err));
    console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr));
  });
} catch (e) {
  console.log('queryAllCreatedOsAccounts exception:' + JSON.stringify(e));
}

queryAllCreatedOsAccounts

queryAllCreatedOsAccounts(): Promise<Array<OsAccountInfo>>

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

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

返回值:

类型 说明
Promise<Array<OsAccountInfo>> Promise对象,返回已创建的所有系统帐号的信息列表。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.queryAllCreatedOsAccounts().then((accountArr) => {
    console.log('queryAllCreatedOsAccounts, accountArr: ' + JSON.stringify(accountArr));
  }).catch((err) => {
    console.log('queryAllCreatedOsAccounts err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('queryAllCreatedOsAccounts exception:' + JSON.stringify(e));
}

getActivatedOsAccountLocalIds9+

getActivatedOsAccountLocalIds(callback: AsyncCallback<Array<number>>): void

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<number>> 回调函数。如果查询成功,err为null,data为当前处于激活状态的系统帐号的ID列表;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getActivatedOsAccountLocalIds((err, idArray)=>{
    console.log('getActivatedOsAccountLocalIds err:' + JSON.stringify(err));
    console.log('getActivatedOsAccountLocalIds idArray length:' + idArray.length);
    for(let i=0;i<idArray.length;i++) {
      console.info('activated os account id: ' + idArray[i]);
    }
  });
} catch (e) {
  console.log('getActivatedOsAccountLocalIds exception:' + JSON.stringify(e));
}

getActivatedOsAccountLocalIds9+

getActivatedOsAccountLocalIds(): Promise<Array<number>>

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

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<Array<number>> Promise对象,返回当前处于激活状态的系统帐号的ID列表。

错误码:

错误码ID 错误信息
12300001 system service exception.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getActivatedOsAccountLocalIds().then((idArray) => {
    console.log('getActivatedOsAccountLocalIds, idArray: ' + idArray);
  }).catch((err) => {
    console.log('getActivatedOsAccountLocalIds err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getActivatedOsAccountLocalIds exception:' + JSON.stringify(e));
}

createOsAccount

createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback<OsAccountInfo>): void

创建一个系统帐号。使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localName string 创建的系统帐号的名称。
type OsAccountType 创建的系统帐号的类型。
callback AsyncCallback<OsAccountInfo> 回调函数。如果创建成功,err为null,data为新创建的系统帐号的信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localName or type.
12300005 Multi-user not supported.
12300006 Unsupported account type.
12300007 The number of account reaches the upper limit.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.createOsAccount('testName', account_osAccount.OsAccountType.NORMAL, (err, osAccountInfo)=>{
    console.log('createOsAccount err:' + JSON.stringify(err));
    console.log('createOsAccount osAccountInfo:' + JSON.stringify(osAccountInfo));
  });
} catch (e) {
  console.log('createOsAccount exception:' + JSON.stringify(e));
}

createOsAccount

createOsAccount(localName: string, type: OsAccountType): Promise<OsAccountInfo>

创建一个系统帐号。使用Promise异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localName string 创建的系统帐号的名称。
type OsAccountType 创建的系统帐号的类型。

返回值:

类型 说明
Promise<OsAccountInfo> Promise对象,返回新创建的系统帐号的信息。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localName or type.
12300005 Multi-user not supported.
12300006 Unsupported account type.
12300007 The number of account reaches the upper limit.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.createOsAccount('testAccountName', account_osAccount.OsAccountType.NORMAL).then((accountInfo) => {
    console.log('createOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log('createOsAccount err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('createOsAccount exception:' + JSON.stringify(e));
}

createOsAccountForDomain8+

createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>): void

根据域帐号信息,创建一个系统帐号并将其与域帐号关联。使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
type OsAccountType 创建的系统帐号的类型。
domainInfo DomainAccountInfo 域帐号信息。
callback AsyncCallback<OsAccountInfo> 回调函数。如果创建成功,err为null,data为新创建的系统帐号的信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid type or domainInfo.
12300005 Multi-user not supported.
12300006 Unsupported account type.
12300007 The number of account reaches the upper limit.

示例:

let accountManager = account_osAccount.getAccountManager();
let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
try {
  accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo, (err, osAccountInfo)=>{
    console.log('createOsAccountForDomain err:' + JSON.stringify(err));
    console.log('createOsAccountForDomain osAccountInfo:' + JSON.stringify(osAccountInfo));
  });
} catch (e) {
  console.log('createOsAccountForDomain exception:' + JSON.stringify(e));
}

createOsAccountForDomain8+

createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo>

根据传入的域帐号信息,创建与其关联的系统帐号。使用Promise异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
type OsAccountType 创建的系统帐号的类型。
domainInfo DomainAccountInfo 域帐号信息。

返回值:

类型 说明
Promise<OsAccountInfo> Promise对象,返回新创建的系统帐号的信息。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid type or domainInfo.
12300005 Multi-user not supported.
12300006 Unsupported account type.
12300007 The number of account reaches the upper limit.

示例:

let accountManager = account_osAccount.getAccountManager();
let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
try {
  accountManager.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo).then((accountInfo) => {
    console.log('createOsAccountForDomain, account info: ' + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log('createOsAccountForDomain err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('createOsAccountForDomain exception:' + JSON.stringify(e));
}

getCurrentOsAccount9+

getCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void

查询当前进程所属的系统帐号的信息。使用callback异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<OsAccountInfo> 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号信息;否则为错误对象。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getCurrentOsAccount((err, curAccountInfo)=>{
    console.log('getCurrentOsAccount err:' + JSON.stringify(err));
    console.log('getCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
  });
} catch (e) {
  console.log('getCurrentOsAccount exception:' + JSON.stringify(e));
}

getCurrentOsAccount9+

getCurrentOsAccount(): Promise<OsAccountInfo>

查询当前进程所属的系统帐号的信息。使用Promise异步回调。

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<OsAccountInfo> Promise对象,返回当前进程所属的系统帐号信息。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getCurrentOsAccount().then((accountInfo) => {
    console.log('getCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log('getCurrentOsAccount err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getCurrentOsAccount exception:' + JSON.stringify(e));
}

queryOsAccountById

queryOsAccountById(localId: number, callback: AsyncCallback<OsAccountInfo>): void

查询指定系统帐号的信息。使用callback异步回调。

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

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 要查询的系统帐号的ID。
callback AsyncCallback<OsAccountInfo> 回调函数。如果查询成功,err为null,data为查到的系统帐号的信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 查询ID为100的系统帐号信息

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.queryOsAccountById(localId, (err, accountInfo)=>{
    console.log('queryOsAccountById err:' + JSON.stringify(err));
    console.log('queryOsAccountById accountInfo:' + JSON.stringify(accountInfo));
  });
} catch (e) {
  console.log('queryOsAccountById exception:' + JSON.stringify(e));
}

queryOsAccountById

queryOsAccountById(localId: number): Promise<OsAccountInfo>

查询指定系统帐号的信息。使用Promise异步回调。

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

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 要查询的系统帐号的ID

返回值:

类型 说明
Promise<OsAccountInfo> Promise对象,返回查到的系统帐号的信息。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 查询ID为100的系统帐号信息

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.queryOsAccountById(localId).then((accountInfo) => {
    console.log('queryOsAccountById, accountInfo: ' + JSON.stringify(accountInfo));
  }).catch((err) => {
    console.log('queryOsAccountById err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('queryOsAccountById exception:' + JSON.stringify(e));
}

getOsAccountType9+

getOsAccountType(callback: AsyncCallback<OsAccountType>): void

查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<OsAccountType> 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号的帐号类型;否则为错误对象。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountType((err, accountType) => {
    console.log('getOsAccountType err: ' + JSON.stringify(err));
    console.log('getOsAccountType accountType: ' + accountType);
  });
} catch (e) {
  console.log('getOsAccountType exception: ' + JSON.stringify(e));
}

getOsAccountType9+

getOsAccountType(): Promise<OsAccountType>

查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<OsAccountType> Promise对象,返回当前进程所属的系统帐号的帐号类型。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountType().then((accountType) => {
    console.log('getOsAccountType, accountType: ' + accountType);
  }).catch((err) => {
    console.log('getOsAccountType err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getOsAccountType exception: ' + JSON.stringify(e));
}

queryDistributedVirtualDeviceId9+

queryDistributedVirtualDeviceId(callback: AsyncCallback<string>): void

获取分布式虚拟设备ID。使用callback异步回调。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<string> 回调函数。如果获取成功,err为null,data为分布式虚拟设备ID;否则为错误对象。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.queryDistributedVirtualDeviceId((err, virtualID) => {
    console.log('queryDistributedVirtualDeviceId err: ' + JSON.stringify(err));
    console.log('queryDistributedVirtualDeviceId virtualID: ' + virtualID);
  });
} catch (e) {
  console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
}

queryDistributedVirtualDeviceId9+

queryDistributedVirtualDeviceId(): Promise<string>

获取分布式虚拟设备ID。使用Promise异步回调。

需要权限: ohos.permission.DISTRIBUTED_DATASYNC or ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<string> Promise对象,返回分布式虚拟设备ID。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.queryDistributedVirtualDeviceId().then((virtualID) => {
    console.log('queryDistributedVirtualDeviceId, virtualID: ' + virtualID);
  }).catch((err) => {
    console.log('queryDistributedVirtualDeviceId err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('queryDistributedVirtualDeviceId exception: ' + JSON.stringify(e));
}

getOsAccountProfilePhoto

getOsAccountProfilePhoto(localId: number, callback: AsyncCallback<string>): void

获取指定系统帐号的头像信息。使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<string> 回调函数。如果获取成功,err为null,data为指定系统帐号的头像信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 获取ID为100的系统帐号的头像

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.getOsAccountProfilePhoto(localId, (err, photo)=>{
    console.log('getOsAccountProfilePhoto err:' + JSON.stringify(err));
    console.log('get photo:' + photo + ' by localId: ' + localId);
  });
} catch (e) {
  console.log('getOsAccountProfilePhoto exception:' + JSON.stringify(e));
}

getOsAccountProfilePhoto

getOsAccountProfilePhoto(localId: number): Promise<string>

获取指定系统帐号的头像信息。使用Promise异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<string> Promise对象,返回指定系统帐号的头像信息。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId.
12300003 Account not found.

示例: 获取ID为100的系统帐号的头像

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.getOsAccountProfilePhoto(localId).then((photo) => {
    console.log('getOsAccountProfilePhoto: ' + photo);
  }).catch((err) => {
    console.log('getOsAccountProfilePhoto err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getOsAccountProfilePhoto exception:' + JSON.stringify(e));
}

setOsAccountProfilePhoto

setOsAccountProfilePhoto(localId: number, photo: string, callback: AsyncCallback<void>): void

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

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
photo string 头像信息。
callback AsyncCallback<void> 回调函数。如果设置成功,err为null,否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId or photo.
12300003 Account not found.
12300008 Restricted Account.

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let photo = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
'+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
try {
  accountManager.setOsAccountProfilePhoto(localId, photo, (err)=>{
    console.log('setOsAccountProfilePhoto err:' + JSON.stringify(err));
  });
} catch (e) {
  console.log('setOsAccountProfilePhoto exception:' + JSON.stringify(e));
}

setOsAccountProfilePhoto

setOsAccountProfilePhoto(localId: number, photo: string): Promise<void>

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

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
photo string 头像信息。

返回值:

类型 说明
Promise<void> Promise对象,无返回结果的Promise对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid localId or photo.
12300003 Account not found.
12300008 Restricted Account.

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let photo = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
'+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='
try {
  accountManager.setOsAccountProfilePhoto(localId, photo).then(() => {
    console.log('setOsAccountProfilePhoto success');
  }).catch((err) => {
    console.log('setOsAccountProfilePhoto err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('setOsAccountProfilePhoto exception:' + JSON.stringify(e));
}

getOsAccountLocalIdForSerialNumber9+

getOsAccountLocalIdForSerialNumber(serialNumber: number, callback: AsyncCallback<number>): void

通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
serialNumber number 帐号SN码。
callback AsyncCallback<number> 回调函数。如果成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid serialNumber.
12300003 the account indicated by serialNumber dose not exist.

示例: 查询与SN码12345关联的系统帐号的ID

let accountManager = account_osAccount.getAccountManager();
let serialNumber = 12345;
try {
  accountManager.getOsAccountLocalIdForSerialNumber(serialNumber, (err, localId)=>{
    console.log('ger localId err:' + JSON.stringify(err));
    console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
  });
} catch (e) {
  console.log('ger localId exception:' + JSON.stringify(e));
}

getOsAccountLocalIdForSerialNumber9+

getOsAccountLocalIdForSerialNumber(serialNumber: number): Promise<number>

通过SN码查询与其关联的系统帐号的帐号ID。使用Promise异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回与SN码关联的系统帐号的帐号ID。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid serialNumber.
12300003 the account indicated by serialNumber dose not exist.

示例: 查询与SN码12345关联的系统帐号的ID

let accountManager = account_osAccount.getAccountManager();
let serialNumber = 12345;
try {
  accountManager.getOsAccountLocalIdForSerialNumber(serialNumber).then((localId) => {
    console.log('getOsAccountLocalIdForSerialNumber localId: ' + localId);
  }).catch((err) => {
    console.log('getOsAccountLocalIdForSerialNumber err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getOsAccountLocalIdForSerialNumber exception: '  + JSON.stringify(e));
}

getSerialNumberForOsAccountLocalId9+

getSerialNumberForOsAccountLocalId(localId: number, callback: AsyncCallback<number>): void

通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<number> 回调函数。如果获取成功,err为null,data为与该系统帐号关联的SN码;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid localId.
12300003 the account indicated by localId dose not exist.

示例: 获取ID为100的系统帐号关联的SN码

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.getSerialNumberForOsAccountLocalId(localId, (err, serialNumber)=>{
    console.log('ger serialNumber err:' + JSON.stringify(err));
    console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
  });
} catch (e) {
  console.log('ger serialNumber exception:' + JSON.stringify(e));
}

getSerialNumberForOsAccountLocalId9+

getSerialNumberForOsAccountLocalId(localId: number): Promise<number>

通过系统帐号ID获取与该系统帐号关联的SN码。使用Promise异步回调。

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回与该系统帐号关联的SN码。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid localId.
12300003 the account indicated by localId dose not exist.

示例: 获取ID为100的系统帐号关联的SN码

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
try {
  accountManager.getSerialNumberForOsAccountLocalId(localId).then((serialNumber) => {
    console.log('getSerialNumberForOsAccountLocalId serialNumber: ' + serialNumber);
  }).catch((err) => {
    console.log('getSerialNumberForOsAccountLocalId err: '  + JSON.stringify(err));
  });
} catch (e) {
  console.log('getSerialNumberForOsAccountLocalId exception:' + JSON.stringify(e));
}

on

on(type: 'activate' | 'activating', name: string, callback: Callback<number>): void

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

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

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
type 'activate' | 'activating' 订阅类型,activate表示订阅的是帐号已激活完成的事件,activating表示订阅的是帐号正在激活的事件。
name string 订阅名称,可自定义,要求非空且长度不超过1024字节。
callback Callback<number> 订阅系统帐号激活完成与激活中的事件回调,表示激活完成后或正在激活中的系统帐号ID。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid type or name.
12300011 Callback has been registered.

示例:

let accountManager = account_osAccount.getAccountManager();
function onCallback(receiveLocalId){
  console.log('receive localId:' + receiveLocalId);
}
try {
  accountManager.on('activating', 'osAccountOnOffNameA', onCallback);
} catch (e) {
  console.log('receive localId exception:' + JSON.stringify(e));
}

off

off(type: 'activate' | 'activating', name: string, callback?: Callback<number>): void

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

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

需要权限: ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS_EXTENSION

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
type 'activate' | 'activating' 取消订阅类型,activate表示取消订阅帐号已激活完成的事件,activating取消订阅帐号正在激活的事件。
name string 订阅名称,可自定义,要求非空且长度不超过1024字节,需要与订阅接口传入的值保持一致。
callback Callback<number> 取消订阅系统帐号激活完成与激活中的事件回调,默认返回0。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid type or name.
12300012 Callback has not been registered.

示例:

let accountManager = account_osAccount.getAccountManager();
function offCallback(){
  console.log('off enter')
}
try {
  accountManager.off('activating', 'osAccountOnOffNameA', offCallback);
} catch (e) {
  console.log('off exception:' + JSON.stringify(e));
}

getBundleIdForUid9+

getBundleIdForUid(uid: number, callback: AsyncCallback<number>): void;

通过uid查询对应的bundleId,使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
uid number 进程uid。
callback AsyncCallback<number> 回调函数。如果查询成功,err为null,data为与uid对应的bundleId;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid uid.

示例:

let accountManager = account_osAccount.getAccountManager();
let testUid = 1000000;
try {
  accountManager.getBundleIdForUid(testUid, (err, bundleId) => {
    console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
    console.info('getBundleIdForUid bundleId:' + JSON.stringify(bundleId));
  });
} catch (e) {
  console.info('getBundleIdForUid exception:' + JSON.stringify(e));
}

getBundleIdForUid9+

getBundleIdForUid(uid: number): Promise<number>;

通过uid查询对应的bundleId,使用Promise异步回调。

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

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回与uid对应的bundleId。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid uid.

示例:

let accountManager = account_osAccount.getAccountManager();
let testUid = 1000000;
try {
  accountManager.getBundleIdForUid(testUid).then((result) => {
    console.info('getBundleIdForUid bundleId:' + JSON.stringify(result));
  }).catch((err)=>{
    console.info('getBundleIdForUid errInfo:' + JSON.stringify(err));
  });
} catch (e) {
  console.info('getBundleIdForUid exception:' + JSON.stringify(e));
}

isMainOsAccount9+

isMainOsAccount(callback: AsyncCallback<boolean>): void;

查询当前进程是否处于主用户,使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数,返回true表示当前帐号为主帐号,返回false表示当前帐号非主帐号。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.isMainOsAccount((err,result)=>{
    console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
    console.info('isMainOsAccount result:' + JSON.stringify(result));
  });
} catch (e) {
  console.info('isMainOsAccount exception:' + JSON.stringify(e));
}

isMainOsAccount9+

isMainOsAccount(): Promise<boolean>;

查询当前进程是否处于主用户,使用Promise异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<boolean> Promise对象,返回true表示当前帐号为主帐号,返回false表示当前帐号非主帐号。

错误码:

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

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.isMainOsAccount().then((result) => {
    console.info('isMainOsAccount result:' + JSON.stringify(result));
  }).catch((err)=>{
    console.info('isMainOsAccount errInfo:' + JSON.stringify(err));
  });
} catch (e) {
  console.info('isMainOsAccount exception:' + JSON.stringify(e));
}

getOsAccountConstraintSourceTypes9+

getOsAccountConstraintSourceTypes(localId: number, constraint: string, callback: AsyncCallback<Array<ConstraintSourceTypeInfo>>): void;

查询指定系统帐号的指定约束来源信息,使用callback异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 要查询的系统帐号ID
constraint string 要查询的约束名称
callback AsyncCallback<Array<ConstraintSourceTypeInfo>> 回调函数。如果成功,err为null,data为指定系统帐号的指定约束来源信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid name or constraint.
12300003 the account indicated by localId dose not exist.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi',(err,sourceTypeInfos)=>{
    console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
    console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(sourceTypeInfos));
  });
} catch (e) {
  console.info('getOsAccountConstraintSourceTypes exception:' + JSON.stringify(e));
}

getOsAccountConstraintSourceTypes9+

getOsAccountConstraintSourceTypes(localId: number, constraint: string): Promise<Array<ConstraintSourceTypeInfo>>;

查询指定系统帐号的指定约束来源信息,使用Promise异步回调。

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 要查询的系统帐号ID
constraint string 要查询的约束名称

返回值:

类型 说明
Promise<Array<ConstraintSourceTypeInfo>> Promise对象,返回指定系统帐号的指定约束来源信息。

错误码:

错误码ID 错误信息
12300001 system service exception.
12300002 invalid name or constraint.
12300003 the account indicated by localId dose not exist.

示例:

let accountManager = account_osAccount.getAccountManager();
try {
  accountManager.getOsAccountConstraintSourceTypes(100, 'constraint.wifi').then((result) => {
    console.info('getOsAccountConstraintSourceTypes sourceTypeInfos:' + JSON.stringify(result));
  }).catch((err)=>{
    console.info('getOsAccountConstraintSourceTypes errInfo:' + JSON.stringify(err));
  });
} catch (e) {
  console.info('getOsAccountConstraintSourceTypes exception:' + JSON.stringify(e));
}

isMultiOsAccountEnable(deprecated)

isMultiOsAccountEnable(callback: AsyncCallback<boolean>): void

判断是否支持多系统帐号。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkMultiOsAccountEnabled

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数。返回true表示支持多系统帐号;返回false表示不支持。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.isMultiOsAccountEnable((err, isEnabled) => {
  if (err) {
    console.log("isMultiOsAccountEnable failed, error: " + JSON.stringify(err));
  } else {
  console.log("isMultiOsAccountEnable successfully, isEnabled: " + isEnabled);
  }
});

isMultiOsAccountEnable(deprecated)

isMultiOsAccountEnable(): Promise<boolean>

判断是否支持多系统帐号。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkMultiOsAccountEnabled

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示支持多系统帐号;返回false表示不支持。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.isMultiOsAccountEnable().then((isEnabled) => {
  console.log('isMultiOsAccountEnable successfully, isEnabled: ' + isEnabled);
}).catch((err) => {
  console.log('isMultiOsAccountEnable failed, error: '  + JSON.stringify(err));
});

isOsAccountActived(deprecated)

isOsAccountActived(localId: number, callback: AsyncCallback<boolean>): void

判断指定系统帐号是否处于激活状态。使用callback异步回调。

说明:

从 API version 7开始支持从API version 9开始废弃, 建议使用checkOsAccountActivated

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<boolean> 回调函数。返回true表示帐号已激活;返回false表示帐号未激活。

示例: 判断ID为100的系统帐号是否处于激活状态

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.isOsAccountActived(localId, (err, isActived) => {
  if (err) {
    console.log('isOsAccountActived failed, err:' + JSON.stringify(err));
  } else {
    console.log('isOsAccountActived successfully, isActived:' + isActived);
  }
});

isOsAccountActived(deprecated)

isOsAccountActived(localId: number): Promise<boolean>

判断指定系统帐号是否处于激活状态。使用Promise异步回调。

说明:

从 API version 7开始支持从API version 9开始废弃, 建议使用checkOsAccountActivated

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示帐号已激活;返回false表示帐号未激活。

示例: 判断ID为100的系统帐号是否处于激活状态

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.isOsAccountActived(localId).then((isActived) => {
  console.log('isOsAccountActived successfully, isActived: ' + isActived);
}).catch((err) => {
  console.log('isOsAccountActived failed, error: '  + JSON.stringify(err));
});

isOsAccountConstraintEnable(deprecated)

isOsAccountConstraintEnable(localId: number, constraint: string, callback: AsyncCallback<boolean>): void

判断指定系统帐号是否具有指定约束。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountConstraintEnabled

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
constraint string 指定的约束名称。
callback AsyncCallback<boolean> 回调函数。返回true表示已使能指定的约束;返回false表示未使能指定的约束。

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let constraint = "constraint.wifi";
accountManager.isOsAccountConstraintEnable(localId, constraint, (err, isEnabled) => {
  if (err) {
    console.log("isOsAccountConstraintEnable failed, error:" + JSON.stringify(err));
  } else {
    console.log("isOsAccountConstraintEnable successfully, isEnabled:" + isEnabled);
  }
});

isOsAccountConstraintEnable(deprecated)

isOsAccountConstraintEnable(localId: number, constraint: string): Promise<boolean>

判断指定系统帐号是否具有指定约束。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountConstraintEnabled

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
constraint string 指定的约束名称。

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示已使能指定的约束;返回false表示未使能指定的约束。

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

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
let constraint = "constraint.wifi";
accountManager.isOsAccountConstraintEnable(localId, constraint).then((isEnabled) => {
  console.log("isOsAccountConstraintEnable successfully, isEnabled: " + isEnabled);
}).catch((err) => {
  console.log("isOsAccountConstraintEnable err: "  + JSON.stringify(err));
});

isTestOsAccount(deprecated)

isTestOsAccount(callback: AsyncCallback<boolean>): void

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

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountTestable

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.isTestOsAccount((err, isTestable) => {
  if (err) {
    console.log("isTestOsAccount failed, error: " + JSON.stringify(err));
  } else {
    console.log("isTestOsAccount successfully, isTestable: " + isTestable);
  }
});

isTestOsAccount(deprecated)

isTestOsAccount(): Promise<boolean>

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

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountTestable

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示当前帐号为测试帐号;返回false表示当前帐号非测试帐号。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.isTestOsAccount().then((isTestable) => {
    console.log("isTestOsAccount successfully, isTestable: " + isTestable);
}).catch((err) => {
    console.log("isTestOsAccount failed, error: " + JSON.stringify(err));
});

isOsAccountVerified(deprecated)

isOsAccountVerified(callback: AsyncCallback<boolean>): void

检查当前系统帐号是否已验证。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountVerified

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<boolean> 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.isOsAccountVerified((err, isVerified) => {
  if (err) {
    console.log("isOsAccountVerified failed, error: " + JSON.stringify(err));
  } else {
    console.log("isOsAccountVerified successfully, isVerified: " + isVerified);
  }
});

isOsAccountVerified(deprecated)

isOsAccountVerified(localId: number, callback: AsyncCallback<boolean>): void

检查指定系统帐号是否已验证。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountVerified

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<boolean> 回调函数。返回true表示指定帐号已验证;返回false表示指定帐号未验证。

示例:

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.isOsAccountVerified(localId, (err, isVerified) => {
  if (err) {
    console.log("isOsAccountVerified failed, error: " + JSON.stringify(err));
  } else {
    console.log("isOsAccountVerified successfully, isVerified: " + isVerified);
  }
});

isOsAccountVerified(deprecated)

isOsAccountVerified(localId?: number): Promise<boolean>

检查指定系统帐号是否已验证。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用checkOsAccountVerified

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS 或 ohos.permission.INTERACT_ACROSS_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。不填则检查当前系统帐号是否已验证。

返回值:

类型 说明
Promise<boolean> Promise对象。返回true表示指定帐号已验证;返回false表示指定帐号未验证。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.isOsAccountVerified(localId).then((isVerified) => {
  console.log("isOsAccountVerified successfully, isVerified: " + isVerified);
}).catch((err) => {
  console.log("isOsAccountVerified failed, error: " + JSON.stringify(err));
});

getCreatedOsAccountsCount(deprecated)

getCreatedOsAccountsCount(callback: AsyncCallback<number>): void

获取已创建的系统帐号数量。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountCount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<number> 回调函数。当获取成功时,err为null,data为已创建的系统帐号的数量;否则为错误对象。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getCreatedOsAccountsCount((err, count)=>{
  if (err) {
    console.log("getCreatedOsAccountsCount failed, error: " + JSON.stringify(err));
  } else {
    console.log("getCreatedOsAccountsCount successfully, count: " + count);
  }
});

getCreatedOsAccountsCount(deprecated)

getCreatedOsAccountsCount(): Promise<number>

获取已创建的系统帐号数量,使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountCount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<number> Promise对象,返回已创建的系统帐号的数量。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getCreatedOsAccountsCount().then((count) => {
  console.log("getCreatedOsAccountsCount successfully, count: " + count);
}).catch((err) => {
  console.log("getCreatedOsAccountsCount failed, error: "  + JSON.stringify(err));
});

getOsAccountLocalIdFromProcess(deprecated)

getOsAccountLocalIdFromProcess(callback: AsyncCallback<number>): void

获取当前进程所属的系统帐号ID,使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountLocalId

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<number> 回调函数。当获取成功时,err为null,data为当前进程所属的系统帐号ID;否则为错误对象。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getOsAccountLocalIdFromProcess((err, localId) => {
  if (err) {
    console.log("getOsAccountLocalIdFromProcess failed, error: " + JSON.stringify(err));
  } else {
    console.log("getOsAccountLocalIdFromProcess successfully, localId: " + localId);
  }
});

getOsAccountLocalIdFromProcess(deprecated)

getOsAccountLocalIdFromProcess(): Promise<number>

获取当前进程所属的系统帐号ID,使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountLocalId

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<number> Promise对象,返回当前进程所属的系统帐号ID。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getOsAccountLocalIdFromProcess().then((localId) => {
  console.log('getOsAccountLocalIdFromProcess successfully, localId: ' + localId);
}).catch((err) => {
  console.log('getOsAccountLocalIdFromProcess failed, error: '  + JSON.stringify(err));
});

getOsAccountLocalIdFromUid(deprecated)

getOsAccountLocalIdFromUid(uid: number, callback: AsyncCallback<number>): void

根据uid查询对应的系统帐号ID。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountLocalIdForUid

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
uid number 进程uid。
callback AsyncCallback<number> 回调函数。如果查询成功,err为null,data为对应的系统帐号ID;否则为错误对象。

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

let accountManager = account_osAccount.getAccountManager();
let uid = 12345678;
accountManager.getOsAccountLocalIdFromUid(uid, (err, localId) => {
  if (err) {
    console.log("getOsAccountLocalIdFromUid failed, error: " + JSON.stringify(err));
  } else {
    console.log("getOsAccountLocalIdFromUid successfully, localId: " + localId);
  }
});

getOsAccountLocalIdFromUid(deprecated)

getOsAccountLocalIdFromUid(uid: number): Promise<number>

根据uid查询对应的系统帐号ID,使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountLocalIdForUid

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回uid对应的系统帐号ID。

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

let accountManager = account_osAccount.getAccountManager();
let uid = 12345678;
accountManager.getOsAccountLocalIdFromUid(uid).then((localId) => {
  console.log("getOsAccountLocalIdFromUid successfully, localId: " + localId);
}).catch((err) => {
  console.log("getOsAccountLocalIdFromUid failed, error: "  + JSON.stringify(err));
});

getOsAccountLocalIdFromDomain(deprecated)

getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo, callback: AsyncCallback<number>): void

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

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getOsAccountLocalIdForDomain

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
domainInfo DomainAccountInfo 域帐号信息。
callback AsyncCallback<number> 回调函数,如果获取成功,err为null,data为域帐号关联的系统帐号ID;否则为错误对象。

示例:

let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
let accountManager = account_osAccount.getAccountManager();
accountManager.getOsAccountLocalIdFromDomain(domainInfo, (err, localId) => {
  if (err) {
    console.log("getOsAccountLocalIdFromDomain failed, error: " + JSON.stringify(err));
  } else {
    console.log("getOsAccountLocalIdFromDomain successfully, localId: " + localId);
  }
});

getOsAccountLocalIdFromDomain(deprecated)

getOsAccountLocalIdFromDomain(domainInfo: DomainAccountInfo): Promise<number>

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

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getOsAccountLocalIdForDomain

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
domainInfo DomainAccountInfo 域帐号信息。

返回值:

类型 说明
Promise<number> Promise对象,返回域帐号关联的系统帐号ID。

示例:

let accountManager = account_osAccount.getAccountManager();
let domainInfo = {domain: 'testDomain', accountName: 'testAccountName'};
accountManager.getOsAccountLocalIdFromDomain(domainInfo).then((localId) => {
  console.log('getOsAccountLocalIdFromDomain successfully, localId: ' + localId);
}).catch((err) => {
  console.log('getOsAccountLocalIdFromDomain failed, error: '  + JSON.stringify(err));
});

getOsAccountAllConstraints(deprecated)

getOsAccountAllConstraints(localId: number, callback: AsyncCallback<Array<string>>): void

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

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountConstraints

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<Array<string>> 回调函数。如果获取成功,err为null,data为指定系统帐号的全部约束;否则为错误对象。

示例: 获取ID为100的系统帐号的全部约束

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.getOsAccountAllConstraints(localId, (err, constraints)=>{
  console.log('getOsAccountAllConstraints err:' + JSON.stringify(err));
  console.log('getOsAccountAllConstraints:' + JSON.stringify(constraints));
});

getOsAccountAllConstraints(deprecated)

getOsAccountAllConstraints(localId: number): Promise<Array<string>>

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountConstraints

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

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<Array<string>> Promise对象,返回指定系统帐号的全部约束

示例: 获取ID为100的系统帐号的全部约束

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.getOsAccountAllConstraints(localId).then((constraints) => {
  console.log('getOsAccountAllConstraints, constraints: ' + constraints);
}).catch((err) => {
  console.log('getOsAccountAllConstraints err: '  + JSON.stringify(err));
});

queryActivatedOsAccountIds(deprecated)

queryActivatedOsAccountIds(callback: AsyncCallback<Array<number>>): void

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

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getActivatedOsAccountLocalIds

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<number>> 回调函数。如果查询成功,err为null,data为当前处于激活状态的系统帐号的ID列表;否则为错误对象。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.queryActivatedOsAccountIds((err, idArray)=>{
  console.log('queryActivatedOsAccountIds err:' + JSON.stringify(err));
  console.log('queryActivatedOsAccountIds idArray length:' + idArray.length);
  for(let i=0;i<idArray.length;i++) {
    console.info('activated os account id: ' + idArray[i]);
  }
});

queryActivatedOsAccountIds(deprecated)

queryActivatedOsAccountIds(): Promise<Array<number>>

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getActivatedOsAccountLocalIds

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

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<Array<number>> Promise对象,返回当前处于激活状态的系统帐号的ID列表。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.queryActivatedOsAccountIds().then((idArray) => {
  console.log('queryActivatedOsAccountIds, idArray: ' + idArray);
}).catch((err) => {
  console.log('queryActivatedOsAccountIds err: '  + JSON.stringify(err));
});

queryCurrentOsAccount(deprecated)

queryCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void

查询当前进程所属的系统帐号的信息。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCurrentOsAccount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<OsAccountInfo> 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号信息;否则为错误对象。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.queryCurrentOsAccount((err, curAccountInfo)=>{
  console.log('queryCurrentOsAccount err:' + JSON.stringify(err));
  console.log('queryCurrentOsAccount curAccountInfo:' + JSON.stringify(curAccountInfo));
});

queryCurrentOsAccount(deprecated)

queryCurrentOsAccount(): Promise<OsAccountInfo>

查询当前进程所属的系统帐号的信息。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getCurrentOsAccount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<OsAccountInfo> Promise对象,返回当前进程所属的系统帐号信息。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.queryCurrentOsAccount().then((accountInfo) => {
  console.log('queryCurrentOsAccount, accountInfo: ' + JSON.stringify(accountInfo));
}).catch((err) => {
  console.log('queryCurrentOsAccount err: '  + JSON.stringify(err));
});

getOsAccountTypeFromProcess(deprecated)

getOsAccountTypeFromProcess(callback: AsyncCallback<OsAccountType>): void

查询当前进程所属的系统帐号的帐号类型。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountType

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<OsAccountType> 回调函数。如果查询成功,err为null,data为当前进程所属的系统帐号的帐号类型;否则为错误对象。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getOsAccountTypeFromProcess((err, accountType) => {
  console.log('getOsAccountTypeFromProcess err: ' + JSON.stringify(err));
  console.log('getOsAccountTypeFromProcess accountType: ' + accountType);
});

getOsAccountTypeFromProcess(deprecated)

getOsAccountTypeFromProcess(): Promise<OsAccountType>

查询当前进程所属的系统帐号的帐号类型。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用getOsAccountType

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<OsAccountType> Promise对象,返回当前进程所属的系统帐号的帐号类型。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getOsAccountTypeFromProcess().then((accountType) => {
  console.log('getOsAccountTypeFromProcess, accountType: ' + accountType);
}).catch((err) => {
  console.log('getOsAccountTypeFromProcess err: '  + JSON.stringify(err));
});

getDistributedVirtualDeviceId(deprecated)

getDistributedVirtualDeviceId(callback: AsyncCallback<string>): void

获取分布式虚拟设备ID。使用callback异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用queryDistributedVirtualDeviceId

需要权限: ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback AsyncCallback<string> 回调函数。如果获取成功,err为null,data为分布式虚拟设备ID;否则为错误对象。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getDistributedVirtualDeviceId((err, virtualID) => {
  console.log('getDistributedVirtualDeviceId err: ' + JSON.stringify(err));
  console.log('getDistributedVirtualDeviceId virtualID: ' + virtualID);
});

getDistributedVirtualDeviceId(deprecated)

getDistributedVirtualDeviceId(): Promise<string>

获取分布式虚拟设备ID。使用Promise异步回调。

说明:

从 API version 7开始支持,从API version 9开始废弃。建议使用queryDistributedVirtualDeviceId

需要权限: ohos.permission.DISTRIBUTED_DATASYNC 或 ohos.permission.MANAGE_LOCAL_ACCOUNTS

系统能力: SystemCapability.Account.OsAccount

返回值:

类型 说明
Promise<string> Promise对象,返回分布式虚拟设备ID。

示例:

let accountManager = account_osAccount.getAccountManager();
accountManager.getDistributedVirtualDeviceId().then((virtualID) => {
  console.log('getDistributedVirtualDeviceId, virtualID: ' + virtualID);
}).catch((err) => {
  console.log('getDistributedVirtualDeviceId err: '  + JSON.stringify(err));
});

getOsAccountLocalIdBySerialNumber(deprecated)

getOsAccountLocalIdBySerialNumber(serialNumber: number, callback: AsyncCallback<number>): void

通过SN码查询与其关联的系统帐号的帐号ID。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getOsAccountLocalIdForSerialNumber

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
serialNumber number 帐号SN码。
callback AsyncCallback<number> 回调函数。如果查询成功,err为null,data为与SN码关联的系统帐号的帐号ID;否则为错误对象。

示例: 查询与SN码12345关联的系统帐号的ID

let accountManager = account_osAccount.getAccountManager();
let serialNumber = 12345;
accountManager.getOsAccountLocalIdBySerialNumber(serialNumber, (err, localId)=>{
  console.log('ger localId err:' + JSON.stringify(err));
  console.log('get localId:' + localId + ' by serialNumber: ' + serialNumber);
});

getOsAccountLocalIdBySerialNumber(deprecated)

getOsAccountLocalIdBySerialNumber(serialNumber: number): Promise<number>

通过SN码查询与其关联的系统帐号的帐号ID。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getOsAccountLocalIdForSerialNumber

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回与SN码关联的系统帐号的帐号ID。

示例: 查询与SN码12345关联的系统帐号的ID

let accountManager = account_osAccount.getAccountManager();
let serialNumber = 12345;
accountManager.getOsAccountLocalIdBySerialNumber(serialNumber).then((localId) => {
  console.log('getOsAccountLocalIdBySerialNumber localId: ' + localId);
}).catch((err) => {
  console.log('getOsAccountLocalIdBySerialNumber err: '  + JSON.stringify(err));
});

getSerialNumberByOsAccountLocalId(deprecated)

getSerialNumberByOsAccountLocalId(localId: number, callback: AsyncCallback<number>): void

通过系统帐号ID获取与该系统帐号关联的SN码。使用callback异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getSerialNumberForOsAccountLocalId

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
localId number 系统帐号ID。
callback AsyncCallback<number> 回调函数。如果获取成功,err为null,data为与该系统帐号关联的SN码;否则为错误对象。

示例: 获取ID为100的系统帐号关联的SN码

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.getSerialNumberByOsAccountLocalId(localId, (err, serialNumber)=>{
  console.log('ger serialNumber err:' + JSON.stringify(err));
  console.log('get serialNumber:' + serialNumber + ' by localId: ' + localId);
});

getSerialNumberByOsAccountLocalId(deprecated)

getSerialNumberByOsAccountLocalId(localId: number): Promise<number>

通过系统帐号ID获取与该系统帐号关联的SN码。使用Promise异步回调。

说明:

从 API version 8开始支持,从API version 9开始废弃。建议使用getSerialNumberForOsAccountLocalId

系统能力: SystemCapability.Account.OsAccount

参数:

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

返回值:

类型 说明
Promise<number> Promise对象,返回与该系统帐号关联的SN码。

示例: 获取ID为100的系统帐号关联的SN码

let accountManager = account_osAccount.getAccountManager();
let localId = 100;
accountManager.getSerialNumberByOsAccountLocalId(localId).then((serialNumber) => {
  console.log('getSerialNumberByOsAccountLocalId serialNumber: ' + serialNumber);
}).catch((err) => {
  console.log('getSerialNumberByOsAccountLocalId err: '  + JSON.stringify(err));
});

UserAuth8+

用户认证类。

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

constructor8+

constructor()

创建用户认证的实例。

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

系统能力:SystemCapability.Account.OsAccount

示例:

let userAuth = new account_osAccount.UserAuth();

getVersion8+

getVersion(): number;

返回版本信息。

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

系统能力: SystemCapability.Account.OsAccount

返回值:

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

示例:

let userAuth = new account_osAccount.UserAuth();
let version = userAuth.getVersion();
console.log('getVersion version = ' + version);

getAvailableStatus8+

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

获取指定认证类型和认证可信等级的认证能力的可用状态。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
authType AuthType 认证类型。
authTrustLevel AuthTrustLevel 认证的可信等级。

返回值:

类型 说明
number 返回认证能力的可用状态。

错误码:

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

示例:

let userAuth = new account_osAccount.UserAuth();
let authType = account_osAccount.AuthType.PIN;
let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
try {
  let status = userAuth.getAvailableStatus(authType, authTrustLevel);
  console.log('getAvailableStatus status = ' + status);
} catch (e) {
  console.log('getAvailableStatus exception = ' + JSON.stringify(e));
}

getProperty8+

getProperty(request: GetPropertyRequest, callback: AsyncCallback<ExecutorProperty>): void;

基于指定的请求信息获取属性。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
request GetPropertyRequest 请求信息,包括认证类型和属性类型列表。
callback AsyncCallback<ExecutorProperty> 回调函数。如果获取成功,err为null,data为执行器属性信息;否则为错误对象。

错误码:

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

示例:

let userAuth = new account_osAccount.UserAuth();
let keys = [
  account_osAccount.GetPropertyType.AUTH_SUB_TYPE, 
  account_osAccount.GetPropertyType.REMAIN_TIMES,
  account_osAccount.GetPropertyType.FREEZING_TIME
];
let request = {
  authType: account_osAccount.AuthType.PIN,
  keys: keys
};
try {
  userAuth.getProperty(request, (err, result) => {
    console.log('getProperty err = ' + JSON.stringify(err));
    console.log('getProperty result = ' + JSON.stringify(result));
  });
} catch (e) {
  console.log('getProperty exception = ' + JSON.stringify(e));
}

getProperty8+

getProperty(request: GetPropertyRequest): Promise<ExecutorProperty>;

基于指定的请求信息获取属性。使用Promise异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
request GetPropertyRequest 请求信息,包括认证类型和属性类型列表。

返回值:

类型 说明
Promise<ExecutorProperty> Promise对象,返回执行者属性信息。

错误码:

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

示例:

let userAuth = new account_osAccount.UserAuth();
let keys = [
  account_osAccount.GetPropertyType.AUTH_SUB_TYPE, 
  account_osAccount.GetPropertyType.REMAIN_TIMES,
  account_osAccount.GetPropertyType.FREEZING_TIME
];
let request = {
  authType: account_osAccount.AuthType.PIN,
  keys: keys
};
try {
  userAuth.getProperty(request).then((result) => {
    console.log('getProperty result = ' + JSON.stringify(result));
  }).catch((err) => {
    console.log('getProperty error = ' + JSON.stringify(err));
  });
} catch (e) {
  console.log('getProperty exception = ' + JSON.stringify(e));
}

setProperty8+

setProperty(request: SetPropertyRequest, callback: AsyncCallback<void>): void;

设置可用于初始化算法的属性。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
request SetPropertyRequest 请求信息,包括认证类型和要设置的密钥值。
callback AsyncCallback<void> 回调函数。如果设置成功,err为null,否则为错误对象。

错误码:

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

示例:

let userAuth = new account_osAccount.UserAuth();
let request = {
  authType: account_osAccount.AuthType.PIN,
  key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
  setInfo: new Uint8Array([0])
};
try {
  userAuth.setProperty(request, (err) => {
    if (err) {
      console.log('setProperty failed, error = ' + JSON.stringify(err));
    } else {
      console.log('setProperty successfully');
    }
  });
} catch (e) {
  console.log('setProperty exception = ' + JSON.stringify(e));
}

setProperty8+

setProperty(request: SetPropertyRequest): Promise<void>;

设置可用于初始化算法的属性。使用Promise异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
request SetPropertyRequest 请求信息,包括身份验证类型和要设置的密钥值。

返回值:

类型 说明
Promise<void> Promise对象,无返回结果的Promise对象。

错误码:

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

示例:

let userAuth = new account_osAccount.UserAuth();
let request = {
  authType: account_osAccount.AuthType.PIN,
  key: account_osAccount.SetPropertyType.INIT_ALGORITHM,
  setInfo: new Uint8Array([0])
};
try {
  userAuth.setProperty(request).then(() => {
    console.log('setProperty successfully');
  }).catch((err) => {
    console.log('setProperty failed, error = ' + JSON.stringify(err));
  });
} catch (e) {
  console.log('setProperty exception = ' + JSON.stringify(e));
}

auth8+

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

认证当前用户。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
challenge Uint8Array 指示挑战值,挑战值为一个随机数,用于提升安全性。
authType AuthType 指示认证类型。
authTrustLevel AuthTrustLevel 指示认证结果的信任级别。
callback IUserAuthCallback 回调对象,返回认证结果。

返回值:

类型 说明
Uint8Array 返回取消的上下文ID。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid challenge or authType or authTrustLevel.
12300101 Credential is incorrect.
12300105 Unsupported authTrustLevel.
12300106 Unsupported authType.
12300110 Authentication locked.
12300111 Authentication timeout.
12300112 Authentication service busy.

示例:

let userAuth = new account_osAccount.UserAuth();
let challenge = new Uint8Array([0]);
let authType = account_osAccount.AuthType.PIN;
let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
try {
  userAuth.auth(challenge, authType, authTrustLevel, {
    onResult: function(result,extraInfo){
        console.log('auth result = ' + result);
        console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
    }
  });
} catch (e) {
  console.log('auth exception = ' + JSON.stringify(e));
}

authUser8+

authUser(userId: number, challenge: Uint8Array, authType: AuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array;

认证指定用户。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
userId number 指示用户身份。
challenge Uint8Array 指示挑战值,挑战值为一个随机数,用于提升安全性。
authType AuthType 指示认证类型。
authTrustLevel AuthTrustLevel 指示认证结果的信任级别。
callback IUserAuthCallback 回调对象,返回认证结果。

返回值:

类型 说明
Uint8Array 返回取消的上下文ID。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid userId or challenge or authType or authTrustLevel.
12300101 Credential is incorrect.
12300105 Unsupported authTrustLevel.
12300106 Unsupported authType.
12300110 Authentication locked.
12300111 Authentication timeout.
12300112 Authentication service busy.

示例:

let userAuth = new account_osAccount.UserAuth();
let userID = 100;
let challenge = new Uint8Array([0]);
let authType = account_osAccount.AuthType.PIN;
let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
try {
  userAuth.authUser(userID, challenge, authType, authTrustLevel, {
    onResult: function(result,extraInfo){
      console.log('authUser result = ' + result);
      console.log('authUser extraInfo = ' + JSON.stringify(extraInfo));
    }
  });
} catch (e) {
  console.log('authUser exception = ' + JSON.stringify(e));
}

cancelAuth8+

cancelAuth(contextID: Uint8Array): void;

取消指定的认证操作。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_USER_AUTH_INTERNAL

参数:

参数名 类型 必填 说明
contextId Uint8Array 指示身份验证上下文ID,此ID动态生成没有具体值。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid contextId.

示例:

let userAuth = new account_osAccount.UserAuth();
let pinAuth = new account_osAccount.PINAuth();
let challenge = new Uint8Array([0]);
let contextId = userAuth.auth(challenge, account_osAccount.AuthType.PIN, account_osAccount.AuthTrustLevel.ATL1, {
  onResult: (result, extraInfo) => {
    console.log('auth result = ' + result);
    console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
  }
});
try {
  userAuth.cancelAuth(contextId);
} catch (e) {
  console.log('cancelAuth exception = ' + JSON.stringify(e));
}

PINAuth8+

Pin码认证功能基类。

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

constructor8+

constructor()

创建Pin码认证的实例。

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

系统能力:SystemCapability.Account.OsAccount

示例:

let pinAuth = new account_osAccount.PINAuth();

registerInputer8+

registerInputer(inputer: IInputer): void;

注册PIN码输入器。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_PIN_AUTH

参数:

参数名 类型 必填 说明
inputer IInputer PIN码输入器,用于获取PIN码。

返回值:

类型 说明
boolean 返回布尔值,true表示注册成功,false表示注册失败。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300103 Inputer already registered.

示例:

let pinAuth = new account_osAccount.PINAuth();
let password = new Uint8Array([0, 0, 0, 0, 0]);
try {
  let result = pinAuth.registerInputer({
      onGetData: (pinSubType, callback) => {
        callback.onSetData(pinSubType, password);
      }
  });
  console.log('registerInputer result = ' + result);
} catch (e) {
  console.log('registerInputer exception = ' + JSON.stringify(e));
}

unregisterInputer8+

unregisterInputer(): void;

解注册PIN码输入器。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.ACCESS_PIN_AUTH

示例:

let pinAuth = new account_osAccount.PINAuth();
pinAuth.unregisterInputer();

DomainPlugin9+

域插件,提供域帐号认证功能。

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

auth9+

auth(domainAccountInfo: DomainAccountInfo, credential: Uint8Array, callback: IUserAuthCallback): void

认证指定的域帐号。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
domainAccountInfo DomainAccountInfo 指示域帐号信息。
credential Uint8Array 指示域帐号的凭据。
callback IUserAuthCallback 指示认证结果回调。

示例:

let plugin = {
  auth: (domainAccountInfo, credential, callback) => {
    // mock authentication
    // notify authentication result
    callback.onResult(0, {
      token: new Uint8Array([0]),
      remainTimes: 5,
      freezingTime: 0
    });
  }
}
account_osAccount.DomainAccountManager.registerPlugin(plugin);
let userAuth = new account_osAccount.UserAuth();
let challenge = new Uint8Array([0]);
let authType = account_osAccount.AuthType.DOMAIN;
let authTrustLevel = account_osAccount.AuthTrustLevel.ATL1;
try {
  userAuth.auth(challenge, authType, authTrustLevel, {
    onResult: (resultCode, authResult) => {
        console.log('auth resultCode = ' + resultCode);
        console.log('auth authResult = ' + JSON.stringify(authResult));
    }
  });
} catch (err) {
  console.log('auth exception = ' + JSON.stringify(err));
}

DomainAccountManager 9+

域帐号管理器类。

registerPlugin9+

static registerPlugin(plugin: DomainPlugin): void

注册域插件。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

参数:

参数名 类型 必填 说明
plugin DomainPlugin 指示域插件。

错误码:

错误码ID 错误信息
12300201 the domain plugin has been registered.

示例:

let plugin = {
  auth: (domainAccountInfo, credential, callback) => {}
}
try {
  account_osAccount.DomainAccountManager.registerPlugin(plugin);
  console.log('registerPlugin success.');
} catch(err) {
  console.log("registerPlugin err:" + JSON.stringify(err));
}

unregisterPlugin9+

static unregisterPlugin(): void

注销域插件。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_LOCAL_ACCOUNTS

示例:

try {
  account_osAccount.DomainAccountManager.unregisterPlugin();
  console.log('unregisterPlugin success.');
} catch(err) {
  console.log("unregisterPlugin err:" + JSON.stringify(err));
}

UserIdentityManager8+

获取用户身份管理类。

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

constructor8+

constructor()

用户身份管理类的默认构造函数。

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

系统能力:SystemCapability.Account.OsAccount

示例:

let userIDM = new account_osAccount.UserIdentityManager();

openSession8+

openSession(callback: AsyncCallback<Uint8Array>): void;

打开会话,获取挑战值。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

参数:

参数名 类型 必填 说明
callback AsyncCallback<Uint8Array> 回调函数。如果打开会话成功,err为null,data为挑战值;否则为错误对象。

错误码:

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

示例:

let userIDM = new account_osAccount.UserIdentityManager();
try {
  userIDM.openSession((err, challenge) => {
      console.log('openSession error = ' + JSON.stringify(err));
      console.log('openSession challenge = ' + JSON.stringify(challenge));
  });
} catch (e) {
  console.log('openSession exception = ' + JSON.stringify(e));
}

openSession8+

openSession(): Promise<Uint8Array>;

打开会话,获取挑战值。使用Promise异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

返回值:

类型 说明
Promise<Uint8Array> Promise对象,返回挑战值。

错误码:

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

示例:

let userIDM = new account_osAccount.UserIdentityManager();
try {
  userIDM.openSession().then((challenge) => {
      console.info('openSession challenge = ' + JSON.stringify(challenge));
  }).catch((err) => {
      console.info('openSession error = ' + JSON.stringify(err));
  });
} catch (e) {
  console.log('openSession exception = ' + JSON.stringify(e));
}

addCredential8+

addCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

添加凭据,添加用户凭据信息,传入凭据添加方法和凭据信息(凭据类型,子类,如果添加用户的非密码凭据,则传入密码身份验证令牌),并获取结果/获取信息。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

参数:

参数名 类型 必填 说明
credentialInfo CredentialInfo 指示凭据信息。
callback IIdmCallback 回调对象,返回添加凭据的结果。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid credentialInfo, i.e. authType or authSubType.
12300101 Token is invalid.
12300106 Unsupported authType.

示例:

let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
let pinAuth = new account_osAccount.PINAuth();
pinAuth.registerInputer({
  onGetData: (pinSubType, callback) => {
    callback.onSetData(pinSubType, password);
  }
});
let credentialInfo = {
  credType: account_osAccount.AuthType.PIN,
  credSubType: account_osAccount.AuthSubType.PIN_SIX,
  token: null
};
let userIDM = new account_osAccount.UserIdentityManager();
userIDM.openSession((err, challenge) => {
  try {
  userIDM.addCredential(credentialInfo, {
    onResult: (result, extraInfo) => {
      console.log('updateCredential result = ' + result);
      console.log('updateCredential extraInfo = ' + extraInfo);
    }
  });
  } catch (e) {
    console.log('updateCredential exception = ' + JSON.stringify(e));
  }
});

updateCredential8+

updateCredential(credentialInfo: CredentialInfo, callback: IIdmCallback): void;

更新凭据。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

参数:

参数名 类型 必填 说明
credentialInfo CredentialInfo 指示凭据信息。
callback IIdmCallback 回调对象,返回更新凭据的结果。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid credentialInfo, i.e. authType or authSubType or token.
12300101 Token is invalid.
12300106 Unsupported authType.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
let userAuth = new account_osAccount.UserAuth();
let pinAuth = new account_osAccount.PINAuth();
let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
let credentialInfo = {
  credType: account_osAccount.AuthType.PIN,
  credSubType: account_osAccount.AuthSubType.PIN_SIX,
  token: null
};
pinAuth.registerInputer({
  onGetData: (pinSubType, callback) => {
    callback.onSetData(pinSubType, password);
  }
});
userIDM.openSession((err, challenge) => {
  userAuth.auth(challenge, credentialInfo.credType, account_osAccount.AuthTrustLevel.ATL1, {
    onResult: (result, extraInfo) => {
      if (result != account_osAccount.ResultCode.SUCCESS) {
        return;
      }
      credentialInfo.token = extraInfo.token;
      try {
        userIDM.updateCredential(credentialInfo, {
          onResult: (result, extraInfo) => {
              console.log('updateCredential result = ' + result);
              console.log('updateCredential extraInfo = ' + extraInfo);
          }
        });
      } catch (e) {
        console.log('updateCredential exception = ' + JSON.stringify(e));
      }
    }
  });
});

closeSession8+

closeSession(): void;

关闭会话,结束IDM操作。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

示例:

let userIDM = new account_osAccount.UserIdentityManager();
userIDM.closeSession();

cancel8+

cancel(challenge: Uint8Array): void;

根据挑战值取消条目。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

参数:

参数名 类型 必填 说明
challenge Uint8Array 挑战值。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid challenge.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
let challenge = new Uint8Array([0]);
try {
  userIDM.cancel(challenge);
} catch(err) {
  console.log("cancel err:" + JSON.stringify(err));
}

delUser8+

delUser(token: Uint8Array, callback: IIdmCallback): void;

删除具有身份验证令牌的用户,使用callback方式异步返回结果。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

参数:

参数名 类型 必填 说明
token Uint8Array 身份验证令牌。
callback IIdmCallback 回调对象,返回删除用户的结果。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300101 Token is invalid.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
let token = new Uint8Array([0]);
try {
  userIDM.delUser(token, {
    onResult: (result, extraInfo) => {
      console.log('delUser result = ' + result);
      console.log('delUser extraInfo = ' + JSON.stringify(extraInfo));
    }
  });
} catch (e) {
  console.log('delUser exception = ' + JSON.stringify(e));
}

delCred8+

delCred(credentialId: Uint8Array, token: Uint8Array, callback: IIdmCallback): void;

删除用户凭据信息。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.MANAGE_USER_IDM

参数:

参数名 类型 必填 说明
credentialId Uint8Array 凭证索引。
token Uint8Array 身份验证令牌。
callback IIdmCallback 回调对象,返回删除凭据的结果。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid credentialId.
12300101 Token is invalid.
12300102 Credential not found.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
let credentialId = new Uint8Array([0]);
let token = new Uint8Array([0]);
try {
  userIDM.delCred(credentialId, token, {
    onResult: (result, extraInfo) => {
        console.log('delCred result = ' + result);
        console.log('delCred extraInfo = ' + JSON.stringify(extraInfo));
    }
  });
} catch (e) {
  console.log('delCred exception = ' + JSON.stringify(e));
}

getAuthInfo8+

getAuthInfo(callback: AsyncCallback<Array<EnrolledCredInfo>>): void;

获取认证信息。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.USE_USER_IDM

参数:

参数名 类型 必填 说明
callback AsyncCallback<Array<EnrolledCredInfo>> 回调函数。如果成功,err为null,data为当前用户的所有已注册凭据信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300102 Credential not found.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
try {
  userIDM.getAuthInfo((err, result) => {
    console.log('getAuthInfo err = ' + JSON.stringify(err));
    console.log('getAuthInfo result = ' + JSON.stringify(result));
  });
} catch (e) {
  console.log('getAuthInfo exception = ' + JSON.stringify(e));
}

getAuthInfo8+

getAuthInfo(authType: AuthType, callback: AsyncCallback<Array<EnrolledCredInfo>>): void;

获取指定类型的认证信息。使用callback异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.USE_USER_IDM

参数:

参数名 类型 必填 说明
authType AuthType 认证类型。
callback AsyncCallback<Array<EnrolledCredInfo>> 回调函数,如果获取成功,err为null,data为当前用户指定类型的所有已注册凭据信息;否则为错误对象。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid authType.
12300102 Credential not found.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
try {
  userIDM.getAuthInfo(account_osAccount.AuthType.PIN, (err, result) => {
    console.log('getAuthInfo err = ' + JSON.stringify(err));
    console.log('getAuthInfo result = ' + JSON.stringify(result));
  });
} catch (e) {
  console.log('getAuthInfo exception = ' + JSON.stringify(e));
}

getAuthInfo8+

getAuthInfo(authType?: AuthType): Promise<Array<EnrolledCredInfo>>;

获取认证信息。使用Promise异步回调。

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

系统能力: SystemCapability.Account.OsAccount

需要权限: ohos.permission.USE_USER_IDM

参数:

参数名 类型 必填 说明
authType AuthType 认证类型。

返回值:

类型 说明
Promise<Array<EnrolledCredInfo>> Promise对象,返回当前用户指定类型的所有已注册凭据信息。

错误码:

错误码ID 错误信息
12300001 System service exception.
12300002 Invalid authType.
12300102 Credential not found.

示例:

let userIDM = new account_osAccount.UserIdentityManager();
try {
  userIDM.getAuthInfo(account_osAccount.AuthType.PIN).then((result) => {
    console.log('getAuthInfo result = ' + JSON.stringify(result))
  }).catch((err) => {
    console.log('getAuthInfo error = ' + JSON.stringify(err));
  });
} catch (e) {
  console.log('getAuthInfo exception = ' + JSON.stringify(e));
}

IInputData8+

密码数据回调。

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

onSetData8+

onSetData: (authSubType: AuthSubType, data: Uint8Array) => void;

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

通知设置数据。

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
authSubType AuthSubType 用于认证的凭据子类型。
data Uint8Array 要设置的数据是凭据,用来在认证、添加、修改凭据操作。

示例:

let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
let passwordNumber = new Uint8Array([1, 2, 3, 4]);
let inputer = {
  onGetData: (authSubType, callback) => {
      if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
        callback.onSetData(authSubType, passwordNumber);
      } else {
        callback.onSetData(authSubType, password);
      }
  }
};

IInputer8+

密码输入框回调。

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

onGetData8+

onGetData: (authSubType: AuthSubType, callback: IInputData) => void;

通知获取数据。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
callback IInputData 指示密码数据回调。

示例:

let password = new Uint8Array([0, 0, 0, 0, 0, 0]);
let passwordNumber = new Uint8Array([1, 2, 3, 4]);
let inputer = {
  onGetData: (authSubType, callback) => {
      if (authSubType == account_osAccount.AuthSubType.PIN_NUMBER) {
        callback.onSetData(authSubType, passwordNumber);
      } else {
        callback.onSetData(authSubType, password);
      }
  }
};
let pinAuth = new account_osAccount.PINAuth();
let result = pinAuth.registerInputer(inputer);
console.log('registerInputer result: ' + result);

IUserAuthCallback8+

表示用户认证回调类。

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

onResult8+

onResult: (result: number, extraInfo: AuthResult) => void;

身份认证结果回调函数,返回结果码和认证结果信息。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
result number 表示身份认证结果代码。
extraInfo AuthResult 表示不同情况下的具体信息,如果认证通过,则在extrainfo中返回认证令牌,如果身份验证失败,则在extrainfo中返回剩余的身份验证时间,如果身份验证执行器被锁定,冻结时间将在extrainfo中返回。

示例:

let authCallback = {
  onResult: (result, extraInfo) => {
    console.log('auth result = ' + result);
    console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
  }
};

onAcquireInfo?8+

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

身份认证信息获取回调函数。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
module number 指示用于身份验证的执行器类型。
acquire number 指示不同身份验证执行器的tip代码。
extraInfo any 保留参数。

示例:

let authCallback = {
  onResult: (result, extraInfo) => {
    console.log('auth result = ' + result)
    console.log('auth extraInfo = ' + JSON.stringify(extraInfo));
  },
  onAcquireInfo: (module, acquire, extraInfo) => {
    console.log('auth module = ' + module);
    console.log('auth acquire = ' + acquire);
    console.info('auth extraInfo = ' + JSON.stringify(extraInfo));
  }
};

IIdmCallback8+

表示身份管理回调类。

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

onResult8+

onResult: (result: number, extraInfo: RequestResult) => void;

身份管理操作结果回调函数,返回结果码和请求结果信息。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
result number 表示身份认证结果代码。
extraInfo RequestResult 针对不同情况传递具体信息。

示例:

let idmCallback = {
  onResult: (result, extraInfo) => {
    console.log('callback result = ' + result)
    console.info('callback extraInfo = ' + JSON.stringify(extraInfo));
  }
};

onAcquireInfo?8+

onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;

身份管理信息获取回调函数。

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

系统能力: SystemCapability.Account.OsAccount

参数:

参数名 类型 必填 说明
module number 指示用于身份验证的执行器类型。
acquire number 指示不同身份验证执行器的tip代码。
extraInfo any 保留参数。

示例:

let idmCallback = {
  onResult: (result, extraInfo) => {
    console.log('callback result = ' + result)
    console.log('callback onResult = ' + JSON.stringify(extraInfo));
  },
  onAcquireInfo: (module, acquire, extraInfo) => {
    console.log('callback module = ' + module);
    console.log('callback acquire = ' + acquire);
    console.log('callback onacquireinfo = ' + JSON.stringify(extraInfo));
  }
};

GetPropertyRequest8+

提供获取属性请求的信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
authType AuthType 身份验证凭据类型。
keys Array<GetPropertyType> 指示要获取的属性类型数组。

SetPropertyRequest8+

提供设置属性请求的信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
authType AuthType 身份验证凭据类型。
key SetPropertyType 指示要设置的属性类型。
setInfo Uint8Array 指示要设置的信息。

ExecutorProperty8+

提供执行器的属性。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
result number 指示结果。
authSubType AuthSubType 指示认证凭据子类型。
remainTimes number 指示剩余时间。
freezingTime number 指示冻结时间。

AuthResult8+

表示认证结果的信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
token Uint8Array 指示认证令牌。
remainTimes number 指示剩余时间。
freezingTime number 指示冻结时间。

CredentialInfo8+

表示凭证信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
credType AuthType 指示凭据类型。
credSubType AuthSubType 指示凭据子类型。
token Uint8Array 指示认证令牌。

RequestResult8+

表示请求结果的信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
credentialId Uint8Array 指示凭据索引。

EnrolledCredInfo8+

表示已注册凭据的信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 类型 必填 说明
credentialId Uint8Array 指示凭据索引。
authType AuthType 指示认证凭据类型。
authSubType AuthSubType 指示认证凭据子类型。
templateId Uint8Array 指示凭据模板ID。

GetPropertyType8+

表示要获取的属性类型的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
AUTH_SUB_TYPE 1 认证子类型。
REMAIN_TIMES 2 剩余时间。
FREEZING_TIME 3 冻结时间。

SetPropertyType8+

表示要设置的属性类型的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
INIT_ALGORITHM 1 初始化算法。

AuthType8+

表示身份验证的凭据类型的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
PIN 1 指示PIN认证类型。
FACE 2 指示脸部认证类型。
DOMAIN9+ 1024 表示域认证类型。

AuthSubType8+

表示用于认证的凭据子类型的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
PIN_SIX 10000 表示6位凭证。
PIN_NUMBER 10001 表示自定义数字凭证。
PIN_MIXED 10002 表示自定义混合凭据。
FACE_2D 20000 指示2D 人脸凭证。
FACE_3D 20001 指示3D 人脸凭证。
DOMAIN_MIXED9+ 10240001 表示域认证混合凭证。

AuthTrustLevel8+

表示认证结果的受信任级别的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
ATL1 10000 信任级别 1。
ATL2 20000 信任级别 2。
ATL3 30000 信任级别 3。
ATL4 40000 信任级别 4。

Module8+

表示获取信息的模块的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
FACE_AUTH 1 表示从人脸认证获取的信息。

ResultCode8+

表示身份验证结果码。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
SUCCESS 0 表示身份验证成功或支持此功能。
FAIL 1 表示验证器无法识别用户。
GENERAL_ERROR 2 表示其他错误。
CANCELED 3 表示身份验证已取消。
TIMEOUT 4 表示身份验证已超时。
TYPE_NOT_SUPPORT 5 表示不支持此身份验证类型。
TRUST_LEVEL_NOT_SUPPORT 6 表示不支持身份验证信任级别。
BUSY 7 表示身份验证任务正忙。等待几秒钟,然后重试。
INVALID_PARAMETERS 8 表示参数不正确。
LOCKED 9 指示身份验证器已锁定。
NOT_ENROLLED 10 表示用户尚未注册验证器。

FaceTipsCode8+

表示人脸验证过程中提示的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
FACE_AUTH_TIP_TOO_BRIGHT 1 表示由于高照明,获得的面部图像太亮。
FACE_AUTH_TIP_TOO_DARK 2 表示由于照明度低,获得的面部图像太暗。
FACE_AUTH_TIP_TOO_CLOSE 3 表示面部离设备太近。
FACE_AUTH_TIP_TOO_FAR 4 表示面部离设备太远。
FACE_AUTH_TIP_TOO_HIGH 5 表示设备太高,仅捕捉面部上部。
FACE_AUTH_TIP_TOO_LOW 6 表示设备太低,仅捕捉面部下部。
FACE_AUTH_TIP_TOO_RIGHT 7 指示设备向右偏移,并且仅捕捉面部的右侧部分。
FACE_AUTH_TIP_TOO_LEFT 8 指示设备向左偏移,并且仅捕捉面部的左侧部分。
FACE_AUTH_TIP_TOO_MUCH_MOTION 9 表示面部信息收集过程中面部移动过快。
FACE_AUTH_TIP_POOR_GAZE 10 表示面未朝向设备。
FACE_AUTH_TIP_NOT_DETECTED 11 表示未检测到人脸。

FingerprintTips8+

表示指纹身份验证过程中提示的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount

名称 说明
FINGERPRINT_TIP_GOOD 0 表明采集的图像良好。
FINGERPRINT_TIP_IMAGER_DIRTY 1 表示由于传感器上可疑或检测到污垢,指纹图像噪声过大。
FINGERPRINT_TIP_INSUFFICIENT 2 表示由于检测到的情况,指纹图像噪声太大,无法处理。
FINGERPRINT_TIP_PARTIAL 3 指示仅检测到部分指纹图像。
FINGERPRINT_TIP_TOO_FAST 4 表示指纹图像由于快速运动而不完整。
FINGERPRINT_TIP_TOO_SLOW 5 表示由于缺少运动,指纹图像无法读取。

OsAccountInfo

表示系统帐号信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

名称 类型 必填 说明
localId number 系统帐号ID。
localName string 系统帐号名称。
type OsAccountType 系统帐号类型
constraints Array<string> 系统帐号约束
isVerified8+ boolean 帐号是否验证
photo8+ string 系统帐号头像
createTime8+ number 系统帐号创建时间
lastLoginTime8+ number 系统帐号最后一次登录时间
serialNumber8+ number 系统帐号SN码
isActived8+ boolean 系统帐号激活状态
isCreateCompleted8+ boolean 系统帐号创建是否完整
distributedInfo distributedAccount.DistributedInfo 分布式帐号信息
domainInfo8+ DomainAccountInfo 域帐号信息

DomainAccountInfo8+

表示域帐号信息。

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

名称 类型 必填 说明
domain string 域名。
accountName string 域帐号名。

系统帐号约束列表

约束 说明
constraint.wifi 禁止使用Wi-Fi
constraint.wifi.set 禁止配置Wi-Fi
constraint.locale.set 禁止配置设备语言
constraint.app.accounts 禁止添加和删除应用帐号
constraint.apps.install 禁止安装应用
constraint.apps.uninstall 禁止卸载应用
constraint.location.shared 禁止打开位置共享
constraint.unknown.sources.install 禁止安装未知来源的应用
constraint.global.unknown.app.install 禁止所有用户安装未知来源的应用
constraint.bluetooth.set 禁止配置蓝牙
constraint.bluetooth 禁止使用蓝牙
constraint.bluetooth.share 禁止共享使用蓝牙
constraint.usb.file.transfer 禁止通过USB传输文件
constraint.credentials.set 禁止配置用户凭据
constraint.os.account.remove 禁止删除用户
constraint.managed.profile.remove 禁止删除此用户的托管配置文件
constraint.debug.features.use J禁止启用或访问调试功能
constraint.vpn.set 禁止配置VPN
constraint.date.time.set 禁止配置日期时间和时区
constraint.tethering.config 禁止配置Tethering
constraint.network.reset 禁止重置网络设置
constraint.factory.reset 禁止出厂设置
constraint.os.account.create 禁止创建新用户
constraint.add.managed.profile 禁止添加托管配置文件
constraint.apps.verify.disable 强制应用程序验证
constraint.cell.broadcasts.set 禁止配置小区广播
constraint.mobile.networks.set 禁止配置移动网络
constraint.control.apps 禁止在设置或启动模块中修改应用程序
constraint.physical.media 禁止装载物理外部介质
constraint.microphone 禁止使用麦克风
constraint.microphone.unmute 禁止取消麦克风静音
constraint.volume.adjust 禁止调整音量
constraint.calls.outgoing 禁止拨打外呼电话
constraint.sms.use 禁止发送或接收短信
constraint.fun 禁止享受乐趣
constraint.windows.create 禁止创建应用程序窗口以外的窗口
constraint.system.error.dialogs 禁止显示崩溃或无响应应用程序的系统错误对话框
constraint.cross.profile.copy.paste 禁止通过将数据粘贴到其他用户或配置文件来导出剪贴板内容
constraint.beam.outgoing 禁止使用NFC从应用程序传送数据
constraint.wallpaper 禁止管理壁纸
constraint.safe.boot 禁止进入安全引导模式
constraint.parent.profile.app.linking 允许父配置文件中的应用程序处理来自托管配置文件的Web链接
constraint.audio.record 禁止录制音频
constraint.camera.use 禁止使用摄像机
constraint.os.account.background.run 禁止在后台运行
constraint.data.roam 禁止漫游通话时使用蜂窝数据
constraint.os.account.set.icon 禁止修改用户头像
constraint.wallpaper.set 禁止设置壁纸
constraint.oem.unlock 禁止启用oem解锁
constraint.device.unmute 禁止取消设备静音
constraint.password.unified 禁止托管配置文件与主用户进行统一锁屏质询
constraint.autofill 禁止使用自动填充服务
constraint.content.capture 禁止捕获用户屏幕
constraint.content.suggestions 禁止接收内容建议
constraint.os.account.start 禁止切换用户
constraint.location.set 禁止配置位置服务
constraint.airplane.mode.set 禁止飞行模式
constraint.brightness.set 禁止配置亮度
constraint.share.into.profile 禁止将主要用户的文件/图片/数据共享到托管配置文件中
constraint.ambient.display 禁止显示环境
constraint.screen.timeout.set 禁止配置屏幕关闭的超时
constraint.print 禁止打印
constraint.private.dns.set 禁止配置专用DNS

ConstraintSourceTypeInfo9+

表示约束来源类型信息。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

名称 类型 必填 说明
localId number 系统帐号ID
type ConstraintSourceType 约束来源类型

ConstraintSourceType9+

表示约束来源类型的枚举。

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

系统能力: 以下各项对应的系统能力均为SystemCapability.Account.OsAccount。

名称 说明
CONSTRAINT_NOT_EXIST 0 约束不存在
CONSTRAINT_TYPE_BASE 1 约束源自系统设置
CONSTRAINT_TYPE_DEVICE_OWNER 2 约束源自设备所有者设置
CONSTRAINT_TYPE_PROFILE_OWNER 3 约束源自资料所有者设置