2013-02-21 138 views
2

我跟着教程在http://www.androidhive.info/2012/09/android-twitter-oauth-connect-tutorial/我唯一改變的是TWITTER_CONSUMER_KEYTWITTER_CONSUMER_SECRET並把loginToTwitter()功能成的AsyncTask,因爲它是呻吟不應該在主要活動做到了網絡通信。我還確保在我的應用程序的twitter設置中,回調URL被填充,所以它的行爲就像一個瀏覽器應用程序。twitter4j登錄安卓

我得到的地方,我登錄到Twitter的,然後得到返回給應用程序

對我來說並不在此處輸入代碼位工作位:

> AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, 
> verifier); 

它返回一個空值

我檢查了非空的變量「verifier」,然後檢查了具有三個值的「requestToken」。

token={has value} 
tokenSecret={has value} 
secretKeySpec={null} 

,沒關係吧「secrectKeySpec」爲空,或者這是一個紅色的鯡魚

有人能告訴我什麼錯誤。

+0

@傑克Bilbo,你有這個問題的解決方案。我也堅持了這個問題近兩天,並可能得到解決方案。 – Manikandan 2013-10-31 10:58:04

回答

0

我面臨同樣的問題,但傾倒堆棧跟蹤後,我發現:

AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier); 

需要在它自己的線程來放。方法getOAuthAccessToken在主UI線程上執行HttpConnection,從而生成:

System.err android.os.NetworkOnMainThreadException 

希望這有助於!

+0

你能指導我如何糾正這個問題 – Manikandan 2013-10-31 10:49:45

+0

@Manikandan - 你需要使用androids AsyncTask類來執行這段代碼。在doInBackground方法內插入:AccessToken accessToken = twitter.getOAuthAccessToken(requestToken,verifier); 參考:http://developer.android.com/reference/android/os/AsyncTask.html – Padawan 2013-11-04 23:30:25