Java Firebase手机认证(Android)

Java Firebase手机认证(Android),java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,我开发了一个应用程序,但Firebase手机验证有问题。Firebase不发送短信。测试时观察到以下情况: 调试apk中交付的SMS代码(在某些情况下) 发布apk中未交付SMS代码 已经从Play Console添加了SHA-1,在添加SHA-1后更新了google-service.json文件,对super.onCodeSent(s,forceResendingToken)进行了评论,但仍然没有成功。据我所知,我的代码没有问题,因为它实际上在某些情况下发送短信。 P.S测试号码,短信发送

我开发了一个应用程序,但Firebase手机验证有问题。Firebase不发送短信。测试时观察到以下情况:

  • 调试apk中交付的SMS代码(在某些情况下)
  • 发布apk中未交付SMS代码
已经从Play Console添加了SHA-1,在添加SHA-1后更新了google-service.json文件,对super.onCodeSent(s,forceResendingToken)进行了评论,但仍然没有成功。据我所知,我的代码没有问题,因为它实际上在某些情况下发送短信。 P.S测试号码,短信发送成功

PhoneAuthProvider.OnVerificationStateChangedCallbacks mCallbacks=new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
    @Override
    public void onVerificationCompleted(PhoneAuthCredential phoneAuthCredential) {

        Log.d("verificationcompleted","true:"+phoneAuthCredential.getSmsCode());
        String code = phoneAuthCredential.getSmsCode();
        codeauthtxt.setText(code);
        authverified=1;
        writeNewUser(uname,surname,phonenum,password,sex,authverified);

    }

    @Override
    public void onVerificationFailed(FirebaseException e) {
        Log.d("verificationcompleted","error"+e.getMessage());
    }

    @Override
    public void onCodeSent(String s, PhoneAuthProvider.ForceResendingToken forceResendingToken) {
        //super.onCodeSent(s, forceResendingToken);
        Log.d("verificationcompleted","codesent:"+s);
        codesent=s;

    }

短信不会发送到虚拟设备,但测试电话号码仍然有效,所以你们需要在真实设备中测试短信接收。我在真实设备中都试过了。运气不好((