后台服务中的 Firebase 身份验证
Firebase Auth in Background Service
我有一个 android 后台服务,在 onCreate()
函数上 运行 这个
FirebaseAuth mAuth = FirebaseAuth.getInstance();
mAuth.signInWithEmailAndPassword("user@user.com", "password")
.addOnCompleteListener((Executor)this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Log.d(Actions.LOG_TAG, "signInWithEmail:success");
FirebaseUser user = mAuth.getCurrentUser();
} else {
Log.w(Actions.LOG_TAG, "signInWithEmail:failure", task.getException());
}
}
});
但是它崩溃了。为什么?
捕获异常是
network provider does not exist, provider doesn't exist: network
Attempt to invoke virtual method 'com.google.android.gms.tasks.Task
com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)'
on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.tasks.Task
com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)'
on a null object reference
编辑
在 MainActivity 的 onStart() 函数中放置代码时出现同样的问题
(遵循本指南 https://firebase.google.com/docs/auth/android/password-auth)
模拟器没有安装 Google Play 服务。
Firebase Auth 不支持没有播放服务的设备。
如果您想使用 Firebase,您需要使用 Firebase Admin SDK。
我有一个 android 后台服务,在 onCreate()
函数上 运行 这个
FirebaseAuth mAuth = FirebaseAuth.getInstance();
mAuth.signInWithEmailAndPassword("user@user.com", "password")
.addOnCompleteListener((Executor)this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Log.d(Actions.LOG_TAG, "signInWithEmail:success");
FirebaseUser user = mAuth.getCurrentUser();
} else {
Log.w(Actions.LOG_TAG, "signInWithEmail:failure", task.getException());
}
}
});
但是它崩溃了。为什么? 捕获异常是
network provider does not exist, provider doesn't exist: network
Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)' on a null object reference java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)' on a null object reference
编辑
在 MainActivity 的 onStart() 函数中放置代码时出现同样的问题 (遵循本指南 https://firebase.google.com/docs/auth/android/password-auth)
模拟器没有安装 Google Play 服务。
Firebase Auth 不支持没有播放服务的设备。
如果您想使用 Firebase,您需要使用 Firebase Admin SDK。