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

Android Studio中Firebase手机号验证提示invalid phone number错误

Firebase手机号验证invalid-phone-number错误解决指南

核心问题定位

你遇到的firebase_auth/invalid-phone-number错误本质是手机号未严格遵循E.164格式规范,Firebase对格式要求极为严格:

  • 必须以+开头
  • 紧跟纯数字国家码(如中国是86、美国是1)
  • 后续是无任何分隔符(空格、横杠、括号均不允许)的纯数字手机号
  • 示例:中国手机号正确格式为+8613800138000

具体修复步骤

1. 强制规范手机号输入格式

在发送OTP前对用户输入的手机号做格式清洗与校验,确保符合E.164标准:

  • 去除所有非数字字符
  • 自动补全+和对应国家码(根据目标地区调整)

修改sendotp按钮的点击事件逻辑:

sendotp.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        String inputPhone = phonenumber.getText().toString().trim();
        // 清除所有非数字字符
        String cleanedPhone = inputPhone.replaceAll("[^0-9]", "");
        // 自动补全+86(针对中国地区,其他地区替换对应国家码)
        if (!cleanedPhone.startsWith("+")) {
            phone = "+86" + cleanedPhone;
        } else {
            phone = cleanedPhone;
        }

        // 校验最终格式长度(中国手机号+86后需11位数字,总长度13)
        if (phone.length() == 13) {
            sendOTP(phone);
        } else {
            Toast.makeText(MainActivity.this, "请输入正确的11位手机号", Toast.LENGTH_SHORT).show();
        }
    }
});

2. 补充提交按钮的验证逻辑

你的代码中submit按钮未绑定点击事件,导致输入OTP后无法触发验证,补上该逻辑:

// 在onCreate方法中添加submit按钮点击事件
submit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String code = otp.getText().toString().trim();
        if (!code.isEmpty()) {
            verifyCode(code);
        } else {
            Toast.makeText(MainActivity.this, "请输入验证码", Toast.LENGTH_SHORT).show();
        }
    }
});

3. 完善错误排查信息

在onVerificationFailed中添加日志打印,方便精准定位问题:

@Override
public void onVerificationFailed(FirebaseException e) {
    Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_LONG).show();
    // 打印详细错误日志到Logcat
    Log.e("FirebaseAuthError", "验证失败:" + e.getMessage(), e);
}

记得导入Log类:

import android.util.Log;

额外注意事项

  • 确保Firebase控制台已添加调试版和发布版的SHA-1、SHA-256指纹
  • 检查google-services.json是否为当前项目的最新配置文件
  • 测试使用真实手机号,Firebase不支持虚拟号码或非合规测试号码(部分地区除外)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 20:04:52