私は、Twitter 統合 (Twitter4j を使用) を持つ android プロジェクトを開発しています。これが私のコードです..、.
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ページにまだいるときに「楽しい」と「実行」が出力され、Twitter認証のpostexecuteがすでに実行されているため、uriでnullを取得した後に戻る..,.
Twitter認証後にコードを実行するにはどうすればよいですか。
また
認証が成功した後、または Facebook onComplete のようなエラー後に実行してキャンセルする方法はありますか..,.