Facebook登录成功,但firebase身份验证抛出异常 [英] Facebook login successful but firebase auth throw exception
问题描述
我是firebase的新手,我想第一次实现facebook auth.我可以成功获取Facebook令牌,但是当我调用signInWithCredential()ide时抛出此异常.
Im new of firebase and I want to implement the facebook auth for the first time . I can getting facebook token succesfully but when I call signInWithCredential() ide throw this exception .
由于:java.lang.NullPointerException:尝试调用虚拟 方法'com.google.android.gms.tasks.Task com.google.android.gms.common.api.GoogleApi.zzb(com.google.android.gms.common.api.internal.zzdf)' 在空对象引用上
Caused by: 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.zzdf)' on a null object reference
这是我的源代码
public class LoginActivity extends AppCompatActivity {
private CallbackManager callbackManager;
private FirebaseAuth mAuth;
private String TAG = "Test";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
callbackManager = CallbackManager.Factory.create();
LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
handleFacebookAccessToken(loginResult.getAccessToken());
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException e) {
}
});
}
private void handleFacebookAccessToken(AccessToken token) {
AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
FirebaseUser user = mAuth.getCurrentUser();
} else {
}
}
});
}
@Override
public void onStart() {
super.onStart();
FirebaseUser currentUser = mAuth.getCurrentUser();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
感谢您的任何建议.
推荐答案
您必须安装Google Play服务.我想您正在仿真器上对其进行测试.尝试在真实设备上对其进行测试,或确保在模拟器上安装了
You must have Google Play Services installed. I suppose you are testing it on the Emulator. Try testing it on a real device or make sure you have GPS installed on your emulator
这篇关于Facebook登录成功,但firebase身份验证抛出异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!