2014-12-10 2 views
5

Я начал использовать Твиттер Twitter для Android. Войти с помощью TwitterLoginButton работает нормально, , но в некоторых случаях мне не нужно использовать TwitterLoginButton, мне просто нужно получить токен пользователя и секрет. Код выглядит правильно, форма входа в твиттер открыта, но callback вызывается вообще.Android twitter авторизация callback не называется

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

Я думаю, мне нужно добавить обработку в onActivityResult но нет информации об этом в документе https://dev.twitter.com/twitter-kit/android/request-email

ответ

13

Вы правы, что вам нужно добавить обработку в onActivityResult, чтобы получить обратный вызов , Для того, чтобы передать результат своей деятельности обратно, чтобы ваш обратный вызов принимает его, вы можете сделать следующее:

@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); 
    } 

Это, по существу, что TwitterLoginButton делает в своем методе TwitterLoginButton#onActivityResult.

+0

У меня такая же проблема, но я использую фрагмент вместо активности, это только разница –

+0

Я также объявляю 'TwitterAuthConfig authConfig = новый TwitterAuthConfig (LoginMainActivity.TWITTER_KEY, LoginMainActivity.TWITTER_SECRET); Fabric.with (getActivity(), новый Twitter (authConfig)); ' внутри onCreateView() –

Смежные вопросы