public class TwitterActivity extends Activity
{
private Twitter twitter;
private OAuthProvider provider;
private CommonsHttpOAuthConsumer consumer;
String CONSUMER_KEY = "abcdefgh";
String CONSUMER_SECRET = "abcdefgh";
String CALLBACK = "twitterapp://connect";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
askOAuth();
}
private void askOAuth() {
try {
consumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
provider = new DefaultOAuthProvider("http://twitter.com/oauth/request_token",
"http://twitter.com/oauth/access_token",
"http://twitter.com/oauth/authorize");
String authUrl = provider.retrieveRequestToken(consumer, CALLBACK);
Toast.makeText(this, "Please authorize this app!", Toast.LENGTH_LONG).show();
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl)));
} catch (Exception e) {
Log.e(APP, e.getMessage());
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Uri uri = intent.getData();
if (uri != null && uri.toString().startsWith(CALLBACK)) {
String verifier = uri.getQueryParameter(oauth.signpost.OAuth.OAUTH_VERIFIER);
try {
// this will populate token and token_secret in consumer
provider.retrieveAccessToken(consumer, verifier);
// TODO: you might want to store token and token_secret in you app settings!!!!!!!!
AccessToken a = new AccessToken(consumer.getToken(), consumer.getTokenSecret());
// initialize Twitter4J
twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
twitter.setOAuthAccessToken(a);
// create a tweet
Date d = new Date(System.currentTimeMillis());
String tweet = "#OAuth working! " + d.toLocaleString();
// send the tweet
twitter.updateStatus(tweet);
} catch (Exception e) {
Log.e(APP, e.getMessage());
Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
}
P.S.: I have used these api's
[1]: https://github.com/punitmg/Twitter-Test-App
[2]: https://github.com/grantland/twitter-android-sdk
[3]: https://github.com/yusuke/twitter4j/
Mit all diesen APIs kann ich erfolgreich twittern. Aber leider erscheinen die unten genannten 2 Bildschirme in allen obigen 3 Fällen.Twitter Rückruf und Login mit Jtwitter
Alles, was ich will, ist zu beenden() oder schließen Sie die beiden unteren Bildschirm, wenn mein Tweet abgeschlossen ist.
So .... plz guide me if i was wrong ...
Ich will nicht die obigen 2 Bildschirme, die sie im Stapel bleiben, wenn ich tweete –