Ich versuche, facebook Firebase-Authentifizierung in meiner App zu verwenden, aber in der App, wenn ich versuche, mit facebook.Task fehlgeschlagenen Teil funktioniert zu arbeiten. Ich verstehe nicht warum. Vielleicht liegt es daran, dass ich eine benutzerdefinierte Schaltfläche verwende. Bitte hilf mir. Hier ist der Code:Firebase Android Facebook-Authentifizierung, Authentifizierung fehlgeschlagen
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("Success", "Login");
handleFacebookAccessToken(loginResult.getAccessToken());
}
@Override
public void onCancel() {
Toast.makeText(Login.this, "İptal Edildi", Toast.LENGTH_LONG).show();
}
@Override
public void onError(FacebookException exception) {
Toast.makeText(Login.this, exception.getMessage(), Toast.LENGTH_LONG).show();
}
});
mAuth = FirebaseAuth.getInstance();
setContentView(R.layout.login);
FacebookSdk.sdkInitialize(getApplicationContext());
AppEventsLogger.activateApp(this);
facebook.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
LoginManager.getInstance().logInWithReadPermissions(Login.this, Arrays.asList("public_profile", "email"));
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
@Override
public void onStart() {
super.onStart();
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
if(currentUser != null){
startActivity(new Intent(Login.this, Loggedin.class));
}
}
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()) {
// Sign in success, update UI with the signed-in user's information
FirebaseUser user = mAuth.getCurrentUser();
startActivity(new Intent(Login.this, Loggedin.class));
} else {
// If sign in fails, display a message to the user.
Toast.makeText(Login.this, "Authentication failed.",
Toast.LENGTH_SHORT).show();
}
// ...
}
});
Haben Sie 'compile project (': facebook-android-sdk-4.20.0 ') 'in Ihrer Datei' build.gradle' hinzugefügt? –