Share Image and Text on Instagram from Android App using Share Dialog


Here is how we can share an Image with text message on Instagram using Share Dialog. There is no need to use any Instagram API's.

The package name for Instagram on Android store is com.instagram.android

Uri file = Uri.parse("android.resource://com.code2care.yourpackage/"+R.drawable.YOUR_IMAGE_HERE);
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
shareIntent.setType("image/*");
shareIntent.putExtra(Intent.EXTRA_STREAM,file);
shareIntent.putExtra(Intent.EXTRA_TITLE, "YOUR TEXT HERE");
shareIntent.setPackage("com.instagram.android");
startActivity(shareIntent);

Example:

package com.code2care.sendInstaIntentExample;

import gesture.SwipeDetector;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.TextView;

public class SwipeDemo extends Activity {
	private TextView textview;
	private SwipeDetector sd;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_swipe_demo);
		
		Uri file = Uri.parse("android.resource://com.code2care.myApp/"+R.drawable.MY_IMAGE_TO_SHARE);
		Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
		shareIntent.setType("image/*");
		shareIntent.putExtra(Intent.EXTRA_STREAM,file);
		shareIntent.putExtra(Intent.EXTRA_TITLE, "YOUR TEXT HERE");
		shareIntent.setPackage("com.instagram.android");
		tartActivity(shareIntent);

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.swipe_demo, menu);
		return true;
	}
	
	@Override
	public boolean onTouchEvent(MotionEvent me) {
		return sd.onTouch(null, me);
	}
	
	@Override
	public boolean dispatchTouchEvent(MotionEvent ev) {
		super.dispatchTouchEvent(ev);
		return sd.onTouchEvent(ev);
	}

}