我的问题是与Facebook
签名时我的Firebase身份验证错误,signInWithCredential(AuthCredencial credencial)
中的方法OncompleteListener
任务结果不成功,我无法理解这是为什么。
@Override
protected void onCreate(Bundle savedInstanceState) {
....
callbackManager = CallbackManager.Factory.create();
loginButton.setReadPermissions("email", "public_profile");
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
System.out.println("Entro");
handleFacebookAccessToken(loginResult.getAccessToken());
}
...
});
firebaseAuth = FirebaseAuth.getInstance();
firebaseAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
Log.d("TAG", "onAuthStateChanged:signed_in:" + user.getUid());
}
}
};
}
private void handleFacebookAccessToken(AccessToken accessToken) {
AuthCredential credential = facebookAuthProvider.getCredential(accessToken.getToken()); firebaseAuth.signInWithCredential(credential).addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
Log.d("TAG","TERMINOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO");
if (!task.isSuccessful()){
Toast.makeText(this, "Error al iniciar en firebase", Toast.LENGTH_SHORT).show();
}
});
}
如果你运行监听器永远不会改变状态而永远不会转到我的MainActivity
,这个代码是由Firebase教程和Facebook教程完成的。 Facebook签到好,但Firebase没有,抱歉我的英文,谢谢!
答案 0 :(得分:0)
我在浏览网页和其他人,论坛等后解决了问题。发现我在firebase和facebook开发者中的应用ID不一样