Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android app - Adding a "share" button to share the app on social networks

Tags:

I have an app, and I'd like to add a share button to it. Once the button is clicked, I'd like it to open the following window:

enter image description here

Then the user will choose where to share it and it will display the following default message: "Just found this great app! Find it here:https://play.google.com/store/apps/details?id=com.ideashower.readitlater.pro"

Can you please tell me how to do it?

like image 951
david Avatar asked Nov 27 '13 08:11

david


People also ask

What happens when you click share in Android?

Get content from someone. You'll get a notification that someone is sharing content. If you haven't already, to make your device visible, tap the notification. If you're asked to turn on Nearby Share, Bluetooth, or Location, tap Turn on.


1 Answers

Solution 1: Launch ACTION_SEND Intent

When launching a SEND intent, you should usually wrap it in a chooser (through createChooser(Intent, CharSequence)), which will give the proper interface for the user to pick how to send your data and allow you to specify a prompt indicating what they are doing.

Intent intent = new Intent(); intent.setAction(Intent.ACTION_SEND);  # change the type of data you need to share,  # for image use "image/*" intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, URL_TO_SHARE); startActivity(Intent.createChooser(intent, "Share")); 

Solution 2: Use ShareActionProvider

If you are just looking to add a Share button in Overflow Menu, also have a look at ShareActionProvider.

public boolean onCreateOptionsMenu(Menu menu) {     getMenuInflater().inflate(R.menu.share, menu);     MenuItem item = menu.findItem(R.id.share_item);     actionProvider = (ShareActionProvider) item.getActionProvider();      // Create the share Intent     String shareText = URL_TO_SHARE;     Intent shareIntent = ShareCompat.IntentBuilder.from(this)         .setType("text/plain").setText(shareText).getIntent();     actionProvider.setShareIntent(shareIntent);     return true; } 

Hope this helps. :)

like image 199
Ankit Popli Avatar answered Oct 20 '22 15:10

Ankit Popli