2012-11-07 7 views
5

Così ho un semplice pulsante di accesso che fa questo nel mio OnCreate:Android Facebook SDK v3.0 SSO LoginButton restituendo un nulla GraphUser

mLoginButton = (LoginButton)findViewById(R.id.connect_facebook_button); 
    mLoginButton.setApplicationId(.getResources().getString(R.string.app_id)); 
    mLoginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() { 
     public void onUserInfoFetched(GraphUser user) { 
      setUser(user); // Just sets mUser to be this user 
      try { 
      Toast.makeText(this, mUser.getFirstName(), Toast.LENGTH_SHORT).show(); 
      } catch (Exception FacebookException) { 
       FacebookException.printStackTrace(); 
      } 


     } 
    }); 

Tutto questo si chiama con successo, compreso l'onUserInfoFetched.

Il problema è, in ogni caso, l'utente Graphuser è nullo.

Il mio appID è corretto, il mio hash Android è il debug che mi danno (testato su app di esempio ha funzionato bene), la schermata di accesso in realtà compare ... Non è proprio sicuro da dove andare da qui.

Inoltre, se ho colpito due volte il tasto, ottengo un errore:

an attempt was made to open a session that has a pending request 
+0

Il codice sembra buono e posso ottenere le informazioni GraphUser quando utilizzo il codice. HelloFacebookSample funziona per te, nel senso che puoi vedere le informazioni dell'utente connesso? –

risposta

6

Ops! Hai dimenticato il risultato della mia attività!

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
} 

Questo ha fatto il trucco.

+0

Che differenza fa quando si sostituisce un metodo e si chiama solo il metodo base ??? –

+0

Il super in questo caso è Facebook suActivityResult, non il tuo. – VicVu

+0

@Vee Come sa se questo è di facebook o frammento? – offset

Problemi correlati