Android4上带有回调URL的Twitter4j getOAuthRequestToken()失败了吗?

Sen*_*nel 3 authentication twitter android twitter4j

我正在尝试将Twitter集成到我的Android应用程序中,似乎无法让Twitter4j注册我的应用程序.

关于我在Android上看到过的问题的每个教程和问题都已经存在了很多年,从那以后事情似乎已经发生了变化.

我按照本教程中的步骤操作,并使用提供的源代码测试连接到Twitter.知道随源代码提供的Twitter4j版本已经过时了,我后来更新了最新版本和快照版本,但都无济于事.

private void loginNewUser() {
    try {
        Log.i(TAG, "Request App Authentication");

        // This line fails with error "Host is unresolved: api.twitter.com:80
        mReqToken = mTwitter.getOAuthRequestToken(); 

        Log.i(TAG, "Starting Webview to login to twitter");
        WebView twitterSite = new WebView(this);
        twitterSite.loadUrl(mReqToken.getAuthenticationURL());
        setContentView(twitterSite);

    } catch (TwitterException e) {
        Log.e("errors", e.getMessage());
        Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
    }
}
Run Code Online (Sandbox Code Playgroud)

任何人都有使用Twitter4j的任何工作登录代码或知道问题的解决方案我将不胜感激收到你的消息!

Sen*_*nel 8

好吧,我想通了,我希望遇到同样问题的人不必像我一样受苦.

1)错误"主机未解决:api.twitter.com:80"来自于设备没有WiFi信号或3G连接(在我工作的办公室中WiFi有点不稳定).

2)getOAuthRequestToken()任何大于3.0 Honeycomb的Android版本崩溃,因为HTTP请求需要在与UI线程不同的线程上完成.我遇到了这个问题,因为我已将Android清单中的目标版本设置为4.0 Ice Cream Sandwich.

  • 关于第2点,在使用像AsyncTask这样的东西的任何地方都没有示例代码太糟糕了; 我发现的所有样本都已经过时了!甚至Twitter4J 3.0.3附带的示例代码!! (3认同)