HarmonyOS鸿蒙Next中华为一键登录如何同时获取匿名手机号和头像、昵称

HarmonyOS鸿蒙Next中华为一键登录如何同时获取匿名手机号和头像、昵称

2 回复

在HarmonyOS Next中,华为一键登录通过集成华为帐号服务实现。调用AccountAuthServicesilentSignIn()方法进行静默登录,成功后返回的AuthAccount对象包含匿名手机号(通过getMobileNumber()获取)、头像(getAvatarUriString())和昵称(getDisplayName())。需在agconnect-services.json配置服务并申请相应权限。

更多关于HarmonyOS鸿蒙Next中华为一键登录如何同时获取匿名手机号和头像、昵称的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,华为一键登录服务通过统一认证接口支持同时获取匿名手机号、头像和昵称信息。具体实现步骤如下:

  1. 配置开发环境
    在AppGallery Connect中启用一键登录服务,并集成HMS Core Account Kit(5.4.0以上版本)。

  2. 调用统一登录接口
    使用AccountAuthService发起授权请求,通过Scope参数声明需要获取的用户信息范围:

    • 匿名手机号:Scope.SCOPE_MOBILE_NUMBER_ANONYMOUS
    • 头像/昵称:Scope.SCOPE_PROFILE
  3. 获取返回数据
    授权成功后,通过AccountAuthResult解析响应数据:

    AccountAuthResult authResult = AccountAuthManager.parseAuthResultFromIntent(data);
    if (authResult != null) {
        // 匿名手机号(需服务端解密)
        String anonymousMobile = authResult.getMobileNumber();
        
        // 用户资料(头像/昵称)
        AccountIcon accountIcon = authResult.getAccountIcon();
        String displayName = authResult.getDisplayName();
    }
    
  4. 注意事项

    • 匿名手机号为加密数据,需通过服务端调用华为接口解密
    • 用户头像需使用AccountIcon.downloadIcon()异步下载
    • 需在build.gradle中声明profilemobileNumber权限

此方案通过单次授权流程即可同步获取三类信息,无需多次请求。

回到顶部