Share image and text Twitter using your Android Application Programatically


It is really simple to share Text and Images to Android App using explicit Intent, all you need to know is the package name of Android App, which you can get by visiting the Play Store URL for twitter app :

⛏️ https://play.google.com/store/apps/details?id=com.twitter.android&hl=en

✔️ You can see that the id parameter in the URL is noting but the package name for Twitter app.

Example :

To demonstrate let's create an App with an Activity having a TextView and a Button, onClick of the button we send the Image and Text message to Twitter App.

package com.code2care.example.sharetextandimagetwitter;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
    private TextView tweetText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tweetText = (TextView) findViewById(R.id.tweetText);
    }
    public void sendTweet(View v) {
        String msg = tweetText.getText().toString();
        Uri uri = Uri
        .parse("android.resource://com.code2care.example.sharetextandimagetwitter/drawable/mona");
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_SEND);
        intent.putExtra(Intent.EXTRA_TEXT, msg);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_STREAM, uri);
        intent.setType("image/jpeg");
        intent.setPackage("com.twitter.android");
        startActivity(intent);
    }
}
Result :
Sharing Text and Image to Twitter.png
Sharing Text and Image to Twitter.png
Result.png
Result.png

⚡️ This post was written years back and the content may be obsolete with current scenario