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?