Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add an option to share to Instagram Stories?

Background
In my Android App, users can share generated images to other apps. It's working nicely using the ACTION_SEND Intent.
Many users have asked why they can't share to Instagram stories directly.

Initially I thought Instagram doesn't support receiving Intents for stories (correct to some extent). I searched for it today, and according to this documentation, to share to Instagram Stories, a separate intent com.instagram.share.ADD_TO_STORY has to be used. I tried it, and it works fine.

The problem:
How do I keep both the options available?

I thought about it a lot, and came up with the following options:

1) Have two separate buttons. It will work, but it will look/feel bad.

2) Have my app accept ACTION_SEND intent, name it as Share to Instagram Story, and redirect the intent to the com.instagram.share.ADD_TO_STORY intent. In principle, make a proxy intent.
It will work, and look/feel great, but I don't know if its allowed (legal, etc) and can I disable the intent if the user doesn't have Instagram installed.

3) Add the 'com.instagram.share.ADD_TO_STORY' to the app chooser launched by ACTION_SEND. This would be ideal, but I don't know how to do it.

like image 312
Haider Ali Punjabi Avatar asked Sep 15 '25 19:09

Haider Ali Punjabi


1 Answers

If you want to add multiple actions to Intent and create a chooser look at this example:

Intent viewIntent = new Intent(Intent.ACTION_VIEW);
Intent editIntent = new Intent(Intent.ACTION_EDIT);
viewIntent.setDataAndType(uri, type);
editIntent.setDataAndType(uri, type);
Intent chooserIntent = Intent.createChooser(editIntent, "Open in...");
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { viewIntent });
startActivity(chooserIntent);

UPDATE: Here is good solution to your answer. How to make an intent with multiple actions

like image 170
Nazarii Moshenskiy Avatar answered Sep 18 '25 09:09

Nazarii Moshenskiy