gpt4 book ai didi

java - PhoneAuthProvider.OnVerificationStateChangedCallbacks 没有被解雇

转载 作者:行者123 更新时间:2023-12-01 17:56:46 25 4
gpt4 key购买 nike

我使用 Firebase 的电话号码验证构建了应用的身份验证功能。我进行了测试,在多个测试设备上一切正常。

但是,我删除了测试手机,重新启动并决定再次测试同一个应用程序。这次,我注意到 OnVerificationStateChangedCallbacks 中的方法NONE被解雇了。

这尤其令人惊讶,因为我根本没有编辑代码库。我将日志放在这三个方法的开头,但没有一个被调用。本质上,OnVerificationStateChangedCallbacks 不起作用。

这是我的 OnVerificationStateChangedCallbacks 初始化的 fragment :

onVerificationStateChangedCallbacks = new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override
public void onVerificationCompleted(@NonNull PhoneAuthCredential phoneAuthCredential) {
Log.d(TAG, "verification completed "+ phoneAuthCredential.toString());
// some stuff
}

@Override
public void onVerificationFailed(@NonNull FirebaseException e) {
Log.d(TAG, "verification failed "+ e.getMessage());
// some stuff
}

@Override
public void onCodeSent(@NonNull String s, @NonNull PhoneAuthProvider.ForceResendingToken forceResendingToken) {

Log.d(TAG, "Code sent "+ s);
// some stuff
}
};


我的日志没有记录任何内容。此外,回调中的任何方法都没有被执行。


采取的额外步骤:

  • 我检查了 Firebase 信息中心,确保没有超出免费配额。
  • 我确认电话号码仍被设置为登录方法之一。


可能是什么问题?

最佳答案

整个问题的关键句子是:

However, I wiped my test phone, rebooted and decided to test the same app again.

official documentation for Firebase phone-auth规定设备的 Google Play 服务必须安装并保持最新,verifyPhoneNumber 功能才能工作。由于 Google Play 服务丢失或过时,没有触发任何回调。

解决此问题的另一种可能方法是使用定时请求或 try-and-catch。

注意:我认为由于这个原因而没有调用 OnVerificationFailed() 是很奇怪的。由于大多数开发人员通常依赖这三种回调方法来实现流程连续性,因此这可能会成为一个问题。

关于java - PhoneAuthProvider.OnVerificationStateChangedCallbacks 没有被解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60699605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com