145 Star 1.4K Fork 1.7K

OpenHarmony/applications_app_samples

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

分布式帐号

介绍

本示例主要展示了分布式帐号相关的功能,使用@ohos.account.distributedAccount@ohos.account.osAccount等接口,实现了绑定分布式帐号、解绑分布式帐号、更新分布式帐号信息和管理分布式帐号的功能。

效果预览

首页 帐号列表 帐号信息

使用说明

  1. 首次进入应用会根据分布式帐号绑定状态进行页面跳转,若帐号已绑定,则直接跳转至帐号列表界面;若帐号未绑定,则需要在首页进行绑定;
  2. 首页输入分布式帐号名(必填)、昵称,选择头像(需先使用hdc命令将图片推到storage/media/100/local/files/Pictures/路径下并重启),选择绑定的系统帐号,点击绑定,绑定成功跳转至帐号列表界面;
  3. 在帐号列表界面,可对所有可解绑分布式帐号进行管理,点击选择分布式帐号,跳转至对应的帐号信息界面;
  4. 在帐号信息界面,点击解绑,可解绑该分布式帐号;
  5. 在帐号解绑之后,可对分布式帐号信息进行更新,在首页直接进行输入后点击绑定即可。

工程目录

entry/src/main/ets/
|---pages
|   |---Index.ets                           // 首页
|---distributedaccount
|   |---pages
|   |   |---DistributedAccountList.ets      // 帐号列表
|   |   |---DistributedAccountInfo.ets      // 帐号信息
|---common
|   |---component
|   |   |---ListItemComponent.ets           // 列表项
|   |   |---TitleBar.ets                    // 标题栏
|   |---constants
|   |   |---CommonConstants.ets
|   |---database
|   |   |---Account.ets                     // 帐号数据库
|   |---utils
|   |   |---DatabaseUtils.ets               // 封装关系型数据库工具类
|---model
|   |---BasicDataSource.ets                 // 懒加载数据
|   |---Logger.ts                           // 日志工具
|   |---DistributedAccountModel.ets         // 封装分布式帐号类

具体实现

  • 绑定、解绑、查询、更新分布式帐号的功能接口封装在DistributedAccountModel,源码参考:DistributedAccountModel.ets
    • 使用distributedAccount.getDistributedAccountAbility()获取分布式帐号单实例对象accountAbility;
    • 绑定、解绑和更新分布式帐号:使用accountAbility.setOsAccountDistributedInfoByLocalId();
    • 查询分布式帐号信息:使用accountAbility.getOsAccountDistributedInfo()和accountAbility.getOsAccountDistributedInfoByLocalId;

相关权限

ohos.permission.MANAGE_LOCAL_ACCOUNTS

ohos.permission.MANAGE_DISTRIBUTED_ACCOUNTS

依赖

不涉及。

约束与限制

  1. 本示例仅支持标准系统上运行,支持设备:RK3568;
  2. 本示例仅支持API10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release);
  3. 本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行;
  4. 本示例涉及使用系统接口:@ohos.account.osAccount中的queryAllCreatedOsAccounts接口,需要手动替换Full SDK才能编译通过,具体操作可参考替换指南
  5. 本示例涉及系统接口,需要配置系统应用签名,可以参考特殊权限配置方法,把配置文件中的“app-feature”字段信息改为“hos_system_app”。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/SystemFeature/DistributedAppDev/DistributedAccount > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openharmony/applications_app_samples.git
git@gitee.com:openharmony/applications_app_samples.git
openharmony
applications_app_samples
applications_app_samples
master

搜索帮助