How to Share Image + Text together using ACTION_SEND in android?

android, android-intent, android-sharing, intentfilter

Solution

You can share plain text with the following code

String shareBody = "Here is the share content body";
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody);
startActivity(Intent.createChooser(sharingIntent, getResources().getString(R.string.share_using)));

So your full code (your image + text) becomes

private Uri imageUri;
private Intent intent;
    
imageUri = Uri.parse("android.resource://" + getPackageName() +
    "/drawable/" + "ic_launcher");

intent = new Intent(Intent.ACTION_SEND);
// text
intent.putExtra(Intent.EXTRA_TEXT, "Hello");
//image
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
//type of content
intent.setType("*/*");
//sending
startActivity(intent);

I just replaced `image/*` with `*/*`

Update:

Uri imageUri = Uri.parse("android.resource://" + getPackageName() +
    "/drawable/" + "ic_launcher");
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, "Hello");
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.setType("image/jpeg");
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(shareIntent, "send"));

Problem

I want to share Text + Image together using ACTION_SEND in android, I am using below code, I can share only Image but i can not share Text with it, ``` private Uri imageUri; private Intent intent; imageUri = Uri.parse("android.resource://" + getPackageName()+ "/drawable/" + "ic_launcher"); intent = new Intent(); intent.setAction(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_TEXT, "Hello"); intent.putExtra(Intent.EXTRA_STREAM, imageUri); intent.setType("image/*"); startActivity(intent); ``` Any help on this ?

Original source