java - 在单独的线程中出现 NetworkOnMainThreadException

标签 java android

我正在尝试将 Android 应用程序与 Twitter 连接,但我不知道这部分代码有什么问题:

Thread thread = new Thread(){
            @Override
            public void run() {
                ConfigurationBuilder builder = new ConfigurationBuilder();
                builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY);
                builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET);
                Configuration configuration = builder.build();

                TwitterFactory factory = new TwitterFactory(configuration);
                twitter = factory.getInstance();
                try {
                    // Error is here
                    requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL); 
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri
                            .parse(requestToken.getAuthorizationURL())));
                } catch (TwitterException e) {
                    e.printStackTrace();
                }
            }
        };

    thread.run();

尽管使用了新线程,为什么我还是收到 NetworkOnMainThreadException ? 谢谢你的帮助..

最佳答案

调用thread.start()而不是thread.run()run() 方法不会生成新线程。

关于java - 在单独的线程中出现 NetworkOnMainThreadException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18137598/

相关文章:

android - gradlew bintrayUpload 命令不会将文件上传到 bintray

java - 该应用程序只能管理推送通知

java - 如何在 URLEncoder 中写入 Limit 和 Offset 变量

java.util.logging.Logger 在控制台中打印消息两次

java - 如果应用程序有多个登录(例如 Facebook、Google 和 Web 服务登录),如何在 Android 中管理 session

android - 在我的 Android 应用程序中保存和编辑用户信息的最佳方式

Android mp4parser 添加音频覆盖

android - 您可以将 Apple 的 mapkit 用于混合应用程序吗?

java - 我该如何将用户输入更改为存在不同变量的构造函数?

java - 复制 @ElementCollection 行为