Tevin1021
Tevin1021
  • 发布:2026-04-30 17:53
  • 更新:2026-04-30 17:54
  • 阅读:23

鸿蒙元服务使用button组件getphonenumber获取手机号没有反应(已成功申请手机号权限)

分类:快应用
            <button  
              class="u-reset-button item-btn btn-box"  
              open-type="getPhoneNumber"  
              withCredentials="true"  
              lang="zh_CN"  
              @getphonenumber="onGetPhoneNumber"  
              @error="handleError"  
            >  
              {{ confirmText }}  
            </button>
const onGetPhoneNumber = async (e) => {  
  console.log('获取手机号授权', e);  
};

开发鸿蒙元服务使,已成功申请了获取手机号的权限,但使用button组件获取手机号没有任何反应,没有任何打印信息.

2026-04-30 17:53 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

鸿蒙元服务中使用 button 组件获取手机号点击无反应,通常是由证书配置、权限申请或配置参数错误导致的。请按以下步骤排查:

1. 检查代码写法

鸿蒙元服务中不需要 withCredentialslang 属性(这些是微信小程序特有的),请使用标准写法:

<button   
  class="u-reset-button item-btn btn-box"  
  open-type="getPhoneNumber"  
  @getphonenumber="onGetPhoneNumber"  
  @error="handleError"  
>  
  {{ confirmText }}  
</button>

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

const onGetPhoneNumber = (e) => {  
  console.log('获取手机号授权', e);  
  // 获取 code:e.detail.code  
  console.log(e.detail.code);  
};

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

2. 检查签名证书配置

签名证书不能使用自动签名,必须使用从 AGC 后台下载的调试证书。在 HBuilderX 中打开展示原生日志,观察是否有类似 Failed to check the fingerprint 的告警,如果有则说明证书配置有问题。

3. 检查 AGC 后台配置

访问 AGC 开发与服务 - 我的项目,选择对应的项目和应用:

  • 确保已申请获取您的手机号敏感权限且已审核通过(申请后需等待 24 小时生效)
  • 打开常规 - 应用,配置指纹,确保已添加调试证书的指纹

4. 检查 client_id 配置

确认 mp-configs/entry/src/main/module.json5 中的 metadata client_id 值正确,必须是应用的 ClientID(在 AGC 后台应用详情页面下方查看),而不是项目的 ClientID。

5. 清除缓存重新运行

如果修改过配置参数没有立刻生效,请在真机打开设置 - 应用与元服务,找到正在开发的应用选择移除,然后重新运行。

6. 检查用户授权状态

如果是测试环境,之前可能已授权或拒绝过,需要手机打开设置 - 华为账号 - 账号安全 - 使用华为账号的应用,删除该应用的授权后重试。

详细文档可参考:鸿蒙元服务登录 - 如何获取用户手机号

内容为 AI 生成,仅供参考

要回复问题请先登录注册