Android using sharing data and images in all social networks.
shareBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(getApplicationContext(),Declarations.coupon_imgbg, 1000).show();
String text = "data_text";
String sub = "data_subject";
// String text = "See our Coupons on Qcrazy for<a href="+Declarations.share_store_website+">"+Declarations.share_store_title+"</a> For more coupons Download FREE"+"<a href=http://www.qcrazy.com/download-qcrazy>"+"QCrazy App"+"</a>";
//String text = Declarations.coupon_desci;
Resources resources = getResources();
Intent emailIntent = new Intent();
emailIntent.setAction(Intent.ACTION_SEND);
//Native email client doesn't currently support HTML, but it
//doesn't hurt to try in case they fix it
emailIntent.putExtra(Intent.EXTRA_TEXT, text);
emailIntent.putExtra(Intent.EXTRA_SUBJECT, sub);
emailIntent.setType("message/rfc822");
PackageManager pm = getPackageManager();
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/html");
sendIntent.setType("image/*");
Intent openInChooser = Intent.createChooser(emailIntent,"SHARE...");
List<ResolveInfo> resInfo = pm.queryIntentActivities(sendIntent, 0);
List<LabeledIntent> intentList = new ArrayList<LabeledIntent>();
for (int i = 0; i < resInfo.size(); i++) {
// Extract the label, append it, and repackage it in a
// LabeledIntent
ResolveInfo ri = resInfo.get(i);
String packageName = ri.activityInfo.packageName;
if (packageName.contains("android.email")) {
emailIntent.setPackage(packageName);
} else if (packageName.contains("twitter")
|| packageName.contains("facebook")
|| packageName.contains("mms")
|| packageName.contains("android.gm")
|| packageName.contains("com.google.android.apps.plus")
|| packageName.contains("com.instagram.android")
|| packageName.contains("com.pinterest")) {
Intent intent = new Intent();
intent.setComponent(new ComponentName(packageName,ri.activityInfo.name));
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
if (packageName.contains("twitter")) {
intent.putExtra(Intent.EXTRA_TEXT, text);
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
intent.putExtra(Intent.EXTRA_STREAM,screenshotUri);
} else if (packageName.contains("facebook")) {
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.setType("image/jpeg");
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, sub);
intent.putExtra(Intent.EXTRA_TITLE, text);
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
intent.putExtra(Intent.EXTRA_STREAM,screenshotUri);
} else if (packageName.contains("mms")) {
intent.putExtra(Intent.EXTRA_TEXT, text);
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
intent.putExtra(Intent.EXTRA_STREAM,screenshotUri);
} else if (packageName.contains("android.gm")) {
intent.putExtra(Intent.EXTRA_TEXT,text);
intent.putExtra(Intent.EXTRA_SUBJECT, sub);
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
intent.putExtra(Intent.EXTRA_STREAM,screenshotUri);
intent.setType("message/rfc822");
} else if (packageName.contains("com.google.android.apps.plus")) {
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(Intent.EXTRA_SUBJECT, sub);
intent.putExtra(Intent.EXTRA_STREAM,screenshotUri);
intent.setType("text/plain");
} else if (packageName.contains("com.instagram.android")) {
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
intent.setType("image/*");
intent.setPackage("com.instagram.android");
intent.putExtra(Intent.EXTRA_STREAM,screenshotUri);
intent.putExtra(Intent.EXTRA_TEXT,text);
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, sub);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
} else if (packageName.contains("com.pinterest")) {
Uri screenshotUri = Uri.parse("file://" + "/storage/emulated/0/coupon/image.jpg");
//Uri screenshotUri = Uri.parse("android.resource://com.coupon.qcrazy/drawable/appicon");
intent.setType("image/*");
intent.setPackage("com.pinterest");
intent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
intent.putExtra(Intent.EXTRA_TEXT, text);
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, sub);
intent.addFlags(Intent.FLAG
_GRANT_READ_URI_PERMISSION);
}
intentList.add(new LabeledIntent(intent, packageName,
ri.loadLabel(pm), ri.icon));
}
}
// convert intentList to array
LabeledIntent[] extraIntents = intentList.toArray(new LabeledIntent[intentList.size()]);
openInChooser.putExtra(Intent.EXTRA_INITIAL_INTENTS,extraIntents);
startActivity(openInChooser);
}
});
