Android - Share on Facebook, Twitter, Mail, ecc
Paresh Mayani's answer is mostly correct. Simply use a Broadcast Intent to let the system and all the other apps choose in what way the content is going to be shared.
To share text use the following code:
String message = "Text I want to share.";Intent share = new Intent(Intent.ACTION_SEND);share.setType("text/plain");share.putExtra(Intent.EXTRA_TEXT, message);startActivity(Intent.createChooser(share, "Title of the dialog the system will open"));
yes you can ... you just need to know the exact package name of the application:
- Facebook - "com.facebook.katana"
- Twitter - "com.twitter.android"
- Instagram - "com.instagram.android"
- Pinterest - "com.pinterest"
And you can create the intent like this
Intent intent = context.getPackageManager().getLaunchIntentForPackage(application);if (intent != null) { // The application exists Intent shareIntent = new Intent(); shareIntent.setAction(Intent.ACTION_SEND); shareIntent.setPackage(application); shareIntent.putExtra(android.content.Intent.EXTRA_TITLE, title); shareIntent.putExtra(Intent.EXTRA_TEXT, description); // Start the specific social application context.startActivity(shareIntent);} else { // The application does not exist // Open GooglePlay or use the default system picker}
I think you want to give Share button, clicking on which the suitable media/website option should be there to share with it. In Android, you need to create createChooser
for the same.
Sharing Text:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);sharingIntent.setType("text/plain");sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is the text that will be shared.");startActivity(Intent.createChooser(sharingIntent,"Share using"));
Sharing binary objects (Images, videos etc.)
Intent sharingIntent = new Intent(Intent.ACTION_SEND);Uri screenshotUri = Uri.parse(path);sharingIntent.setType("image/png");sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);startActivity(Intent.createChooser(sharingIntent, "Share image using"));
FYI, above code are referred from Sharing content in Android using ACTION_SEND Intent