在 Flutter 中输入错误的 SMS 代码时如何捕获错误?
Posted
技术标签:
【中文标题】在 Flutter 中输入错误的 SMS 代码时如何捕获错误?【英文标题】:How can I catch the error when the wrong SMS code is entered in Flutter? 【发布时间】:2021-02-05 07:02:37 【问题描述】:我在 Firebase 平台中使用电话身份验证。实际上我用下面的代码解决了这个问题,但是 Firebase 给了我另一个类似的错误。
我正在尝试 2 个选项;其中一个正在使用 catch(e),另一个正在使用 FirebaseAuthException catch (me),但我总是遇到同样的错误。
signin() async
final AuthCredential credential = PhoneAuthProvider.credential(
verificationId: verificationId, smsCode: code);
try
await FirebaseAuth.instance.signInWithCredential(credential);
print("successful");
catch (e)
print("not successful");
发生了异常。 PlatformException (PlatformException(invalid-verification-code, 用于创建手机认证凭证的短信验证码无效。请重新发送验证码短信并务必使用用户提供的验证码。, code: invalid-verification -code、message:用于创建手机认证的短信验证码无效,请重新发送验证码短信,一定要使用用户提供的验证码,nativeErrorMessage:用于创建手机的短信验证码auth凭证无效,请重新发送验证码短信,务必使用用户提供的验证码,nativeErrorCode:17044,additionalData:))
【问题讨论】:
【参考方案1】:您可以通过FirebaseAuthException
代码过滤错误;
signin() async
final AuthCredential credential = PhoneAuthProvider.credential(
verificationId: verificationId,
smsCode: code,
);
try
await FirebaseAuth.instance.signInWithCredential(credential);
print("successful");
on FirebaseAuthException catch (e)
if (e.code == 'invalid-verification-code')
onWrongCode();
onOtherError(e);
catch (e)
onOtherError(e);
【讨论】:
以上是关于在 Flutter 中输入错误的 SMS 代码时如何捕获错误?的主要内容,如果未能解决你的问题,请参考以下文章
构建flutter应用程序的APK时任务':sms:verifyReleaseResources'执行失败
如何在反应原生文本输入中自动粘贴在 SMS 中收到的一次性代码