Android 如何使用Firebase中的PhoneAuthProvider检测sms代码是否发送到其他设备
我在firebase中使用PhoneAuthProvider,我的用户在不小心键入设备中不存在的另一个电话号码时遇到问题。发生的事情是,短信代码被发送到该电话号码,但我没有办法检测到,以触发必要的行动Android 如何使用Firebase中的PhoneAuthProvider检测sms代码是否发送到其他设备,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我在firebase中使用PhoneAuthProvider,我的用户在不小心键入设备中不存在的另一个电话号码时遇到问题。发生的事情是,短信代码被发送到该电话号码,但我没有办法检测到,以触发必要的行动 @Override public void onVerificationCompleted(PhoneAuthCredential credential) { try { Toast.makeText( Registra
@Override
public void onVerificationCompleted(PhoneAuthCredential credential) {
try {
Toast.makeText( RegistrationStepOne.this, "Phone number verified successfully!", Toast.LENGTH_SHORT ).show();
Intent step1=new Intent(RegistrationStepOne.this,RegistrationStepTwo.class);
Bundle extraMain = new Bundle();
extraMain.putString( "phoneNumber", getPhoneNo.getText().toString());
step1.putExtras( extraMain );
startActivity(step1);
RegistrationStepOne.this.finish();
} catch (NullPointerException b) {
b.printStackTrace();
passDialog.dismiss();
}
}
上面的方法无法检测到,下面的方法也无法检测到
@Override
public void onVerificationFailed(FirebaseException e) {
Log.d( "FEL", e.getLocalizedMessage() );
verifyCode.setText( "Resend Request" );
if (e instanceof FirebaseAuthInvalidCredentialsException) {
} else if (e instanceof FirebaseTooManyRequestsException) {
Toast.makeText( RegistrationStepOne.this, "Too Many Requests Sent...Please try again later", Toast.LENGTH_SHORT ).show();
}
}
@Override
public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken token) {
Log.d( TAG, "onCodeSent:" + verificationId );
mVerificationId = verificationId;
mResendToken = token;
}
如果另一台设备接收到代码,我应该在何处以及如何检测验证未成功我认为这是不可能的。你可以设置一个祝酒词或什么,说短信发送到电话号码。如果不是这个号码,请再试一次。除此之外,我不认为你能做很多事情。当没有任何方法可以检测到这种情况时,我应该在哪里设置吐司?我会这样做,用户输入电话号码,我猜他按下按钮发送短信。当按下按钮而不是调用firebase方法时,制作toast,以便用户可以再次读取电话号码。如果电话号码正常,用户将收到信息,如果没有,用户将看到错误的电话号码,并且应该可以选择将短信再次发送到其他号码。这可以解决问题,但不够稳定,仍然容易出现人为错误。无论如何,在firebase解决这个问题之前,我现在会使用它。99%的应用程序都容易出现人为错误,没有办法让它成为防猴子的。。。当你第一次输入你的电话号码时,甚至facebook也会出现这种错误