我基本上有活动
它调用异步任务来设置通过 twitter4j 提供的 twitter 类。
但我收到一个关于“无法在未调用 looper.prepare 的线程内创建处理程序”的错误,该错误来自有处理程序的 TwitterApp 类......
我怎样才能解决这个问题?像以前一样在主 UI 线程上成功设置类号(效果很好,但减慢了应用程序的速度);
我基本上在做:
新的 SetUpAsyncTaskt().execute();
在 asynctask 中,我所做的一切是:
TwitterApp mTwitter;
postToTwitter = true;
String twitter_consumer_key="bllaalaa";
String twitter_secret_key="blaa"
private class SetUpAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
mTwitter = new TwitterApp(context, twitter_consumer_key,twitter_secret_key);
mTwitter.setListener(mTwLoginDialogListener);
return null;
}
@Override
protected void onPostExecute(Void result) {
if(!mTwitter.hasAccessToken()){
postToTwitter=false;
}
}
}
谢谢你的帮助!
更新:在做了更多测试之后,问题似乎是由于上下文,好像我在它工作的类中删除了所有基于上下文的数据,但我没有得到的是,如果我从 UI 线程传入上下文,它仍然发生?? :S
UPDATE2:找到了另一种解决方法,感谢所有回复的人。