2013-07-10 3 views
0

У меня есть Twitter в Android-приложении, используя библиотеку twitter4j, и отлично работает с публикацией на Twitter.Проблема в интеграции Android-Twitter

Я хорошо обрабатываю его, когда пользователь подписывается, а затем поток возвращается в приложение. В этом случае я продолжаю обновление статуса.

Но проблема возникает, когда пользователь нажимает кнопку cancel вместо sign in. Как узнать, что пользователь нажал кнопку cancel?

+0

Не решайте ответить, если у вас есть, а не голосование. Также укажите причину вашего голосования. – Geek

ответ

1

Я решил эту проблему, заглянув в намерение, пройденное в обратном направлении.
Когда пользователь подписывается, Intent содержит параметр oauth_verifier, тогда как когда пользователь отказывается продолжать, нажав кнопку cancel, Intent содержит параметр denied.

// Handle Twitter call back 
private void handleTwitterCallBack() { 

    Uri uri = getIntent().getData(); 

    // If got redirected from Twitter page to application 
    if (uri != null 
      && uri.toString().startsWith(RS_Twitter.TWITTER_CALLBACK_URL)) { 

     if (uri.getQueryParameter(RS_Twitter.TWITTER_USER_DENIED) != null) { 

      // User denied to sign in 

     } else if (uri 
       .getQueryParameter(RS_Twitter.TWITTER_OAUTH_VERIFIER_URL) != null) { 

      // Intent contains Twitter verifier. User authorized the application. 
     } 
    } 
}