gpt4 book ai didi

firebase - java.lang.IllegalArgumentException : Service not registered Flutter and Firebase Google SignIn 异常

转载 作者:行者123 更新时间:2023-12-05 06:55:45 30 4
gpt4 key购买 nike

我想允许使用 Firebase 在我的应用中使用 google 登录。这是我的代码:

import 'package:PixiCall/models/user.dart';
import 'package:PixiCall/utils/utilities.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:google_sign_in/google_sign_in.dart';

class FirebaseMethods {
final FirebaseAuth _auth = FirebaseAuth.instance;

GoogleSignIn _googleSignIn = GoogleSignIn();
static final FirebaseFirestore firestore = FirebaseFirestore.instance;

//user class
User1 user = User1();

Future<User> getCurrentUser() async {
User currentUser;
currentUser = await _auth.currentUser;
return currentUser;
}

Future<User> signIn() async {
GoogleSignInAccount _signInAccount = await _googleSignIn.signIn();
GoogleSignInAuthentication _signInAuthentication =
await _signInAccount.authentication;

final AuthCredential credential = GoogleAuthProvider.credential(
accessToken: _signInAuthentication.accessToken,
idToken: _signInAuthentication.idToken,
);

User user = (await _auth.signInWithCredential(credential)).user;
return user;
}

Future<bool> authenicateUser(User user) async {
QuerySnapshot result = await firestore
.collection('users')
.where('email', isEqualTo: user.email)
.get();

final List<DocumentSnapshot> docs = result.docs;

//if user is registered then length of list > 0 or else less than 0
return docs.length == 0 ? true : false;
}

Future<void> addDataToDb(User currentUser) async {
String username = Utils.getUsername(currentUser.email);

user = User1(
uid: currentUser.uid,
email: currentUser.email,
name: currentUser.displayName,
profilePhoto: currentUser.photoURL,
username: username);

firestore.collection('users').doc(currentUser.uid).set(user.toMap(user));
}
}

而且在 VS Code 中没有错误,当我运行应用程序时,我在终端中看到了这条消息:

/ConnectionTracker(14606): Exception thrown while unbinding
W/ConnectionTracker(14606): java.lang.IllegalArgumentException: Service not registered: lv@b068d66
W/ConnectionTracker(14606): at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1484)
W/ConnectionTracker(14606): at android.app.ContextImpl.unbindService(ContextImpl.java:1638)
W/ConnectionTracker(14606): at android.content.ContextWrapper.unbindService(ContextWrapper.java:703)
W/ConnectionTracker(14606): at ci.f(:com.google.android.gms.dynamite_measurementdynamite@204516052@20.45.16 (040700-0):1)
W/ConnectionTracker(14606): at ci.d(:com.google.android.gms.dynamite_measurementdynamite@204516052@20.45.16 (040700-0):2)
W/ConnectionTracker(14606): at lw.E(:com.google.android.gms.dynamite_measurementdynamite@204516052@20.45.16 (040700-0):9)
W/ConnectionTracker(14606): at lg.a(:com.google.android.gms.dynamite_measurementdynamite@204516052@20.45.16 (040700-0):3)
W/ConnectionTracker(14606): at eg.run(:com.google.android.gms.dynamite_measurementdynamite@204516052@20.45.16 (040700-0):3)
W/ConnectionTracker(14606): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
W/ConnectionTracker(14606): at java.util.concurrent.FutureTask.run(FutureTask.java:266)
W/ConnectionTracker(14606): at iz.run(:com.google.android.gms.dynamite_measurementdynamite@204516052@20.45.16 (040700-0):5)

这是登录按钮:

Widget loginButton() {
return FlatButton(
padding: EdgeInsets.all(35),
child: Text(
'Login',
style: TextStyle(
fontSize: 25,
fontWeight: FontWeight.w900,
letterSpacing: 1.2,
),
),
onPressed: () => performLogin,
);
}

void performLogin() {
_repository.signIn().then((User user) {
if (user != null) {
authenticateUser(user);
} else {
print('There was an error');
}
});
}

此外,在 VS Code 的问题选项卡中,我有这个错误:“等待”应用于“用户”,这不是“ future ”。此错误与我提供的第一个代码有关。

当我点击登录按钮时,没有任何反应。它应该让我使用 Google 登录,但它没有。有人知道这里可能有什么问题吗?

最佳答案

您不需要使用 async 方法来调用 getCurrentUser()

  User getCurrentUser() {
User currentUser;
currentUser = _auth.currentUser;
return currentUser;
}

关于firebase - java.lang.IllegalArgumentException : Service not registered Flutter and Firebase Google SignIn 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65306253/

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