2017-06-23 5 views
0

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(); 

         } 

         // ... 
        } 
       }); 
+0

Haben Sie 'compile project (': facebook-android-sdk-4.20.0 ') 'in Ihrer Datei' build.gradle' hinzugefügt? –

Antwort

1

Setzen Sie diese Zeilen vor setContentView (R.layout.login);

+0

Nichts hat sich geändert ... –

Verwandte Themen