更新: 突然我尝试这次尝试,它突然工作了,而无需更改我的应用程序和 Firebase 控制台上的任何代码。我不知道为什么/如何有人解释?有谁知道如何防止这个问题?
原帖: onCodeSent 已触发但无法接收任何短信代码。我上次也遇到过这种情况,不过一天后就好了。但昨晚,如果我的 android studio 代码和 firebase 在电话身份验证方面没有任何更改,我就无法再次收到任何短信。上次也发生过同样的事情。早些时候,当我早上 7:00 左右醒来时,我可以收到短信代码,但后来我在中午 12:00 左右再次尝试测试它,但我无法再次收到任何短信。我不确定这里出了什么问题。我需要尽快得到答案,因为我需要在下周进行答辩。谢谢你
还在另一个位置的另一台设备上进行了测试。它也不会收到任何短信。还尝试了我的旧项目应用程序,该应用程序正在工作/接收短信,但有同样的问题。
Firebase 控制台:
Android Studio:
有时我会收到短信代码,有时则不会。 显示来自 onCodeSent 的 Toast。我还尝试显示令牌和verificationId,但它不为空。
private void sendVerificationCode(String contactNumber) {
PhoneAuthOptions options =
PhoneAuthOptions.newBuilder(mAuth)
.setPhoneNumber(contactNumber) // Phone number to verify
.setTimeout(60L, TimeUnit.SECONDS) // Timeout and unit
.setActivity(this) // Activity (for callback binding)
.setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(PhoneAuthCredential credential) {
signInWithPhoneAuthCredential(credential);
loading.dismiss();
}
@Override
public void onVerificationFailed(FirebaseException e) {
Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
loading.dismiss();
}
@Override
public void onCodeSent(@NonNull String verificationId,
@NonNull PhoneAuthProvider.ForceResendingToken token) {
verificationDialog(contactNumber);
verificationCode = verificationId;
loading.dismiss();
Toast.makeText(getApplicationContext(), "Verification code sent to " + contactNumber, Toast.LENGTH_LONG).show();
}
}) // OnVerificationStateChangedCallbacks
.build();
PhoneAuthProvider.verifyPhoneNumber(options);
}
80% - 这就是我问题的答案。再见