2013-07-10 78 views
0

我已經在使用twitter4j庫的android應用程序中集成了Twitter,並且它在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. 
     } 
    } 
}