Account Subsystem Changelog
cl.account_os_account.1 OsAccountInfo.type Value Type Change
Changed the value type of OsAccountInfo.type from object to OsAccountType enum.
Change Impact
The mode for reading the OsAccountInfo.type value needs to be changed for the application developed based on earlier versions. Otherwise, the original service logic will be affected.
Key API/Component Changes
The following APIs are involved:
- AccountManager
-
queryAllCreatedOsAccounts(callback: AsyncCallback<Array<OsAccountInfo>>): void;
-
queryAllCreatedOsAccounts(): Promise<Array<OsAccountInfo>>;
-
createOsAccount(localName: string, type: OsAccountType, callback: AsyncCallback<OsAccountInfo>): void;
-
createOsAccount(localName: string, type: OsAccountType): Promise<OsAccountInfo>;
-
createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>): void;
-
createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo>;
-
queryCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void;
-
queryCurrentOsAccount(): Promise<OsAccountInfo>;
-
getCurrentOsAccount(callback: AsyncCallback<OsAccountInfo>): void;
-
getCurrentOsAccount(): Promise<OsAccountInfo>;
-
queryOsAccountById(localId: number, callback: AsyncCallback<OsAccountInfo>): void;
-
queryOsAccountById(localId: number): Promise<OsAccountInfo>;
-
getOsAccountTypeFromProcess(callback: AsyncCallback<OsAccountType>): void;
-
getOsAccountTypeFromProcess(): Promise<OsAccountType>;
-
getOsAccountType(callback: AsyncCallback<OsAccountType>): void;
-
getOsAccountType(): Promise<OsAccountType>;
-
Adaptation Guide
import account_osAccount from "@ohos.account.osAccount"
let accountMgr = account_osAccount.getAccountManager();
accountMgr.createOsAccount("account_test", account_osAccount.OsAccountType.GUEST).then((accountInfo) => {
if (accountInfo.type == account_osAccount.OsAccountType.GUEST) {
console.log("createOsAccount successfully");
}
accountMgr.activateOsAccount(accountInfo.localId).then(() => {
console.log("activateOsAccount successfully");
accountMgr.getOsAccountTypeFromProcess().then((accountType) => {
if (accountType == account_osAccount.OsAccountType.GUEST) {
console.log("getOsAccountTypeFromProcess successfully");
}
}).catch((err) => {
console.log("activateOsAccount err: " + JSON.stringify(err));
});
}).catch((err) => {
console.log("activateOsAccount err: " + JSON.stringify(err));
});
}).catch((err) => {
console.log("createOsAccount err: " + JSON.stringify(err));
});