【发布时间】:2020-12-19 20:28:35
【问题描述】:
当用户第一次登录时,我想创建一个新帐户。如果已经有一个帐户,我只想让用户登录。所以我想先尝试创建一个帐户,如果错误是“EMAIL_ALREADY_IN_USE”,我就让用户登录。
在我升级我的颤振(Channel master,1.26.0-2.0.pre.86)之前,这曾经工作得很好。现在应用程序总是崩溃,即使错误发生在 try 块中。这跟flutter的升级有关系吗?
感谢您的回答
错误信息
PlatformException (PlatformException(ERROR_EMAIL_ALREADY_IN_USE, 该电子邮件地址已被另一个帐户使用。, null, null))
代码片段
if (await isValid(email, password, shortSchoolURL)) {
try {
AuthResult result = await _auth.createUserWithEmailAndPassword(
email: email, password: password);
FirebaseUser user = result.user;
return _userFromFirebaseUser(user);
//
} catch (registerError) {
if (registerError.code == "ERROR_EMAIL_ALREADY_IN_USE") {
try {
AuthResult result = await _auth.signInWithEmailAndPassword(
email: email, password: password);
FirebaseUser user = result.user;
return _userFromFirebaseUser(user);
}
...
颤振医生
[✓] Flutter (Channel master, 1.26.0-2.0.pre.86, on Mac OS X 10.15.6 19G2021 darwin-x64, locale de)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] IntelliJ IDEA Community Edition (version 2019.3.4)
[✓] VS Code (version 1.52.1)
[✓] Connected device (2 available)
• No issues found!
【问题讨论】:
标签: firebase flutter dart firebase-authentication