【发布时间】:2012-08-21 10:20:26
【问题描述】:
我已经在模拟器上的应用程序中用twitter实现了一些操作,效果很好,但在实际设备上,我有一个例外:
android.os.NetworkOnMainThreadException
我已阅读有关该错误的信息,这是因为我需要在主要操作之外执行一个线程,但不明白如何调用函数 asyncsTask,因为我需要发送共享首选项作为参数。 --------------------- 我需要将函数 isAuthenticated 或他的代码的一部分放在 AsyncTask 中,但需要发送首选项作为参数,我不知道该怎么做
我放了一部分代码。
这里打电话
if (TwitterUtils.isAuthenticated(prefs)) {
......
.....
....
}
类 TwitterUtils.java
public static boolean isAuthenticated(SharedPreferences prefs) {
String token = prefs.getString(OAuth.OAUTH_TOKEN, "");
String secret = prefs.getString(OAuth.OAUTH_TOKEN_SECRET, "");
AccessToken a = new AccessToken(token,secret);
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
twitter.setOAuthAccessToken(a);
try {
twitter.getAccountSettings(); **LINE ERROR**
return true;
} catch (TwitterException e) {
e.printStackTrace();
return false;
}
有什么办法吗?
谢谢
【问题讨论】:
-
我遇到了同样的错误。请您在添加异步任务的位置发布完整代码。我会非常感谢你。
-
你好,你可以提出一个问题,我会给你一个更完整的答案
-
感谢您的回复。但我已经发布了我的问题。你可以在这里查看:stackoverflow.com/questions/14316941/…
标签: android exception android-asynctask