I've been searching for a way to post a tweet with my Android application, but all the things I've found don't work.
I have to admit that Twitter's API isn't so simple to understand, but my code isn't really long, and I don't see where is my mistake.
This is my code:
public class PartagerTwitter extends Activity { private CommonsHttpOAuthConsumer httpOauthConsumer; private OAuthProvider httpOauthprovider; public final static String consumerKey = XXX; public final static String consumerSecret = XXX; private final String CALLBACKURL = "myapp://twitactivity"; private Twitter twitter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); try { httpOauthConsumer = new CommonsHttpOAuthConsumer(consumerKey, consumerSecret); httpOauthprovider = new DefaultOAuthProvider("https://twitter.com/oauth/request_token", "https://twitter.com/oauth/access_token", "https://twitter.com/oauth/authorize"); String authUrl = httpOauthprovider.retrieveRequestToken(httpOauthConsumer, CALLBACKURL); this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(authUrl))); } catch (Exception e) { e.printStackTrace(); } } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); Uri uri = intent.getData(); Log.i("test", uri.toString()); if (uri != null && uri.toString().startsWith(CALLBACKURL)) { String verifier = uri.getQueryParameter(oauth.signpost.OAuth.OAUTH_VERIFIER); try { httpOauthprovider.retrieveAccessToken(httpOauthConsumer, verifier); twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer(consumerKey, consumerSecret); RequestToken requestToken = twitter.getOAuthRequestToken(CALLBACKURL); AccessToken accessToken = twitter.getOAuthAccessToken(requestToken); String token = accessToken.getToken(), secret = accessToken.getTokenSecret(); accessToken = new AccessToken(token,secret); Twitter twitter = new TwitterFactory().getOAuthAuthorizedInstance(consumerKey,consumerSecret,accessToken); twitter.updateStatus("My First Status Update"); } catch (Exception e) { e.printStackTrace(); } } } } Of course, my keys aren't XXX. And another question, is it possible, after login, to close the Twitter window and bring my activity to the foreground?