2014-12-10 22 views
5

Zacząłem używać Twitter Fabric na Androida. Zaloguj się przez TwitterLoginButton działa dobrze, , ale w niektórych przypadkach nie potrzebuję używać TwitterLoginButton, po prostu potrzebuję uzyskać token użytkownika i sekret. Kod wygląda dobrze, formularz logowania do Twittera jest otwarty, ale wywołanie zwrotne jest w ogóle wywoływane.Twitter z Androidem twitter autoryzacji nie nazywa się

TwitterAuthClient authClient = new TwitterAuthClient(); 
authClient.authorize(TwitterSettingsActivity.this, new Callback<TwitterSession>() { 
    @Override 
    public void success(Result<TwitterSession> twitterSessionResult) { 
     Logger.e(TAG, "ok"); 
    } 

    @Override 
    public void failure(TwitterException e) { 
     Logger.e(TAG, "failure error", e); 
    } 
}); 

Chyba trzeba dodać trochę manipulację w onActivityResult ale nie ma informacji o tym w dokumencie https://dev.twitter.com/twitter-kit/android/request-email

Odpowiedz

13

Masz rację, że trzeba dodać obsługę w onActivityResult uzyskać zwrotnego . Aby zdać rezultat aktywności z powrotem tak, że zwrotna otrzymuje je, można wykonać następujące czynności:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     // Pass the activity result to the auth client. 
     authClient.onActivityResult(requestCode, resultCode, data); 
    } 

To właśnie TwitterLoginButton robi w swojej metodzie TwitterLoginButton#onActivityResult zasadniczo.

+0

Mam ten sam problem, ale używam fragmentu zamiast aktywności, która jest tylko różnicą –

+0

również deklaruję "TwitterAuthConfig authConfig = new TwitterAuthConfig (LoginMainActivity.TWITTER_KEY, LoginMainActivity.TWITTER_SECRET); Fabric.with (getActivity(), nowy Twitter (authConfig)); ' wewnątrz onCreateView() –