我正在开发一个 android 项目,其中我有 Twitter 集成(使用 Twitter4j)。这是我的代码..,。
class BitmapDownloaderTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
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 {
requestToken = twitter.getOAuthRequestToken(TWITTER_CALLBACK_URL);
MainActivity.this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
}catch(TwitterException e){e.printStackTrace();}
System.out.println("Fun");
return "Run";
}
@Override
protected void onPostExecute(String txt) {
if (isCancelled()) {
txt = null;
}
if(txt!=null){
System.out.println(txt);
Uri uri = getIntent().getData();
System.out.println(uri);
}
}
}
我的问题是推特页面在单独的线程中打开,并且当我仍在 Twitter 页面中以及当我在 Twitter 身份验证 postexecute 已经执行后返回时打印“Fun”和“Run”,因此我在 uri 中得到了 null ..,。
有人可以帮我吗,如何在 Twitter 身份验证后运行一些代码。
或者
是否有任何方法在成功验证后或在 Facebook onComplete 和 cancel 等错误后运行..,。