У меня проблемы с кодом Flutter для входа в систему по электронной почте/паролю Firebase.
Если адрес электронной почты и пароль указаны правильно, ничего не происходит.
Если адрес электронной почты или пароль неверны, генерируется "Error "+errMsg.toString()
.
В консоли читаю:
W/System (21892): Игнорирование заголовка X-Firebase-Locale, поскольку его значение был нулевым. D/FirebaseAuth(21892): уведомление слушателей токена id о пользователь ( R6GCSXPvbUgbu4uQXdLYtXD1Lyo1 ).
Вот код:
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
void loginAndAuthenticateUser(BuildContext context) async{
final User firebaseUser = (await _firebaseAuth.signInWithEmailAndPassword(
email: emailTextEditingController.text,
password: passwordTextEditingController.text)
.catchError((errMsg) {
displayToastMessage("Error " + errMsg.toString(), context);
})).user;
if (firebaseUser != null) {
usersRef.child(firebaseUser.uid).once().then((DataSnapshot snap){
if (snap.value == null){
Navigator.pushNamedAndRemoveUntil(context, MainScreen.idScreen, (route) => false);
displayToastMessage("You are logged in.", context);
}
else{
_firebaseAuth.signOut();
displayToastMessage("User not found.", context);
}
});
}
else{
displayToastMessage("Error occurred.", context);
}
}
displayToastMessage(String message, BuildContext context) {
Fluttertoast.showToast(msg: message);
}
пишет "проблем не обнаружено"
Вы запускаете приложение на Emulator
?
Да, эмулятор Android
Протестируйте его на своем устройстве, чтобы увидеть, что вы получите
При попытке создать APK Flutter говорит: Примечание: D:\Programiranje\Flutter\.pub-cache\hosted\pub.dartlang.org\firebase_core-0.5.3\android\src\main\java \io\flutter\plugins\firebase\core\FlutterFirebaseCorePlugin.java использует или переопределяет устаревший API. Примечание. Перекомпилируйте с параметром -Xlint:deprecation для получения подробной информации.
Флаттер говорит что?
Какие зависимости вы используете в своем pubspec.yaml
?
cupertino_icons: ^1.0.0 firebase_core: ^0.5.3 firebase_auth: ^0.18.4+1 firebase_database: ^4.4.0 fluttertoast: ^7.1.6
В этом случае лучшее, что я знаю, это сделать оператор «попробовать» «кроме», я определенно сталкивался с этой проблемой раньше и хотел бы, чтобы с ней было проще справиться.
Спасибо, мужик. Я решил это с вашей подсказкой.
Запустите команду
flutter doctor -v
и опубликуйте результат