HarmonyOS实战开发-如何实现对系统帐号的生命周期管理。

650 篇文章 6 订阅
645 篇文章 7 订阅

系统提供了用于管理系统帐号的接口。 系统应用开发者在申请对应的权限后,可以创建、激活、修改和删除系统帐号,实现对系统帐号的生命周期管理;三方应用开发者可以查询系统帐号的基本信息,以完成与系统帐号相关的业务逻辑开发。

基本概念

帐号类型

当前,系统仅允许创建以下三种预定义类型的系统帐号:
在这里插入图片描述

帐号完整信息

开发准备

  1. 申请权限:ohos.permission.MANAGE_LOCAL_ACCOUNTS。
  2. 申请流程请参考:申请应用权限。

导入系统帐号模块。

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

3.获取帐号管理单实例对象。

let accountManager = account_osAccount.getAccountManager();

创建系统帐号

系统初始化阶段,会创建默认系统帐号。此外,可以创建多个系统帐号,以满足用户不同诉求。

具体开发实例如下:

调用createOsAccount接口,指定昵称和类型信息来创建系统帐号。

let name: string = 'Bob';
let type: account_osAccount.OsAccountType = account_osAccount.OsAccount.NORMAL;

accountManager.createOsAccount(name, type, (err: BusinessError, osAccountInfo: account_osAccount.OsAccountInfo)=>{
  console.log('createOsAccount err:' + JSON.stringify(err));
  console.log('createOsAccount osAccountInfo:' + JSON.stringify(osAccountInfo));
});

查询所有已创建的系统帐号

帐号管理界面通常需要获取所有帐号信息时,以方便用户操作不同帐号。

具体开发实例如下:

调用queryAllCreatedOsAccounts接口查询全量帐号。

accountManager.queryAllCreatedOsAccounts((err: BusinessError, accountArr: account_osAccount.OsAccountInfo[])=>{
  console.log('queryAllCreatedOsAccounts err:' + JSON.stringify(err));
  console.log('queryAllCreatedOsAccounts accountArr:' + JSON.stringify(accountArr));
});

查询指定系统帐号信息

除了查询所有帐号信息,还可以根据帐号标识查询指定系统帐号的详细信息。

具体开发实例如下:

调用queryOsAccountById接口查询指定帐号的详细信息。

let localId: number = 100;
accountManager.queryOsAccountById(localId, (err: BusinessError, accountInfo: account_osAccount.OsAccountInfo)=>{
  console.log('queryOsAccountById err:' + JSON.stringify(err));
  console.log('queryOsAccountById accountInfo:' + JSON.stringify(accountInfo));
});

修改系统帐号头像和昵称

可以修改系统帐号的头像、昵称,以满足用户的个性化需求。

具体开发实例如下:

1.调用setOsAccountProfilePhoto接口修改系统帐号头像。

let localId: number = 100;
let newPhoto: string = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAPCAYAAAA/I0V3AAAAAXNSR0IArs4c6QAAAARnQU1BAA'+
'Cxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACwSURBVDhPvZLBDYMwDEV/ugsXRjAT0EHCOuFIBwkbdIRewi6unbiAyoGgSn1SFH85+Y'+
'q/4ljARW62X+LHS8uIzjm4dXUYF+utzBikB52Jo5e5iEPKqpACk7R9NM2RvWm5tIkD2czLCUFNKLD6IjdMHFHDzws285MgGrT0xCtp3WOKHo'+
'+7q0mP0DZW9pNmoEFUzrQjp5cCnaen2kSJXLFD8ghbXyZCMQf/8e8Ns1XVAG/XAgqKzVnJFAAAAABJRU5ErkJggg=='

accountManager.setOsAccountProfilePhoto(localId, newPhoto, (err: BusinessError)=>{
  console.log('setOsAccountProfilePhoto err:' + JSON.stringify(err));
});

2.调用setOsAccountName接口修改系统帐号名称。

let localId: number = 100;
let newName: string = 'Tom';
accountManager.setOsAccountName(localId, newName, (err: BusinessError) => {
  if (err) {
    console.log('setOsAccountName failed, error: ' + JSON.stringify(err));
  } else {
    console.log('setOsAccountName successfully');
  }
});

激活系统帐号

系统帐号默认处于未激活状态,需要激活后才能使用。开发者可以使用activateOsAccount接口完成此操作。

具体开发实例如下:

调用activateOsAccount接口激活指定系统帐号。

let localId: number = 101;
accountManager.activateOsAccount(localId, (err: BusinessError)=>{
  if (err) {
    console.error(`activateOsAccount failed, code is ${err.code}, message is ${err.message}`);
  } else {
    console.log('activateOsAccount successfully');
  }
});

删除系统帐号

不再使用某个系统帐号时,可以将该系统帐号删除。

具体开发实例如下:

调用removeOsAccount接口删除指定的帐号。

let localId: number = 101;
accountManager.removeOsAccount(localId, (err: BusinessError)=>{
  if (err) {
      console.log('removeOsAccount failed, error: ' + JSON.stringify(err));
  } else {
      console.log('removeOsAccount successfully');
  }
});

如果大家还没有掌握鸿蒙,现在想要在最短的时间里吃透它,我这边特意整理了《鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程》以及《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

鸿蒙语法ArkTS、TypeScript、ArkUI等…视频教程:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述

OpenHarmony APP开发教程步骤:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

在这里插入图片描述

《鸿蒙开发学习手册》:

如何快速入门:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3.……

在这里插入图片描述

开发基础知识:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
9.……

在这里插入图片描述

基于ArkTS 开发:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16.……

在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF:https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值