我有一个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());
}
}
});
但它崩溃了。为什么? 捕获异常是
网络提供商不存在,提供商不存在:网络
尝试调用虚拟方法'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)” 在null对象引用上 java.lang.NullPointerException:尝试调用虚拟方法'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzde)” 在空对象引用上
修改
将代码放在MainActivity中的onStart()函数中也一样 (遵循本指南https://firebase.google.com/docs/auth/android/password-auth)
答案 0 :(得分:0)
模拟器未安装Google Play服务。
Firebase Auth不支持没有播放服务的设备。
如果您想使用Firebase,则需要使用Firebase Admin SDK。