2013-02-21 98 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