You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Phone Number Hint无法返回手机号:最新版本调用报16号异常

解决Phone Number Hint新版API报异常16(No phone number is found on this device)的问题

针对你遇到的新版API请求手机号提示返回异常16,但旧版本在同一设备正常的问题,可尝试以下排查和解决方向:

1. 显式指定允许的国家/地区代码

新版GetPhoneNumberHintIntentRequest的默认行为与旧版存在差异,未指定国家代码时可能仅检索Google账号关联的已验证手机号,忽略SIM卡或系统存储的手机号。修改请求构建代码,添加目标国家的ISO 3166-1 alpha-2代码:

import java.util.Arrays;

GetPhoneNumberHintIntentRequest getPhoneNumberHintIntentRequest = GetPhoneNumberHintIntentRequest.builder()
        .setAllowedCountryCodes(Arrays.asList("CN")) // 替换为设备所在国家码
        .build();

2. 验证设备上的手机号来源

新版API对手机号的验证要求更严格,需确保:

  • 设备已登录关联手机号的Google账号,且该手机号完成验证
  • SIM卡中的手机号已被系统正确识别(可在系统设置-关于手机-状态信息中确认)
  • 多SIM卡设备需确认目标SIM卡的手机号已正常注册

3. 确认依赖库版本兼容性

检查play-services-identity依赖是否为最新稳定版,避免版本兼容问题:

// 在app模块的build.gradle中确认依赖版本
implementation 'com.google.android.gms:play-services-identity:18.0.0'

4. 完善回调的异常处理逻辑

补充异常状态码的捕获,帮助更精准定位问题:

try {
    String phoneNumber = Identity.getSignInClient(context).getPhoneNumberFromIntent(result.getData());
} catch (ApiException e) {
    Log.e("PhoneHintError", "状态码: " + e.getStatusCode() + ", 错误信息: " + e.getMessage());
}

内容的提问来源于stack exchange,提问作者Manoj Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 15:57:15