|
private void shareItem(String title, String link) { |
|
// Standard message to send |
|
String msg = title + " " + link; |
|
|
|
Intent share = new Intent(Intent.ACTION_SEND); |
|
share.setType("text/plain"); |
|
|
|
List<ResolveInfo> resInfo = getPackageManager().queryIntentActivities(share, 0); |
|
if (!resInfo.isEmpty()) { |
|
List<Intent> targetedShareIntents = new ArrayList<Intent>(); |
|
Intent targetedShareIntent = null; |
|
|
|
for (ResolveInfo resolveInfo : resInfo) { |
|
String packageName = resolveInfo.activityInfo.packageName; |
|
targetedShareIntent = new Intent(android.content.Intent.ACTION_SEND); |
|
targetedShareIntent.setType("text/plain"); |
|
|
|
// Find twitter: com.twitter.android... |
|
if ("com.twitter.android".equals(packageName)) { |
|
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, msg); |
|
} else if ("com.google.android.gm".equals(packageName)) { |
|
targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title); |
|
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, Uri.encode(title + "\r\n" + link)); |
|
} else if ("com.android.email".equals(packageName)) { |
|
targetedShareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, title); |
|
targetedShareIntent.putExtra(android.content.Intent.EXTRA_TEXT, Uri.encode(title + "\n" + link)); |
|
} else { |
|
// Rest of Apps |
|
targetedShareIntent.putExtra( android.content.Intent.EXTRA_TEXT, msg); |
|
} |
|
|
|
targetedShareIntent.setPackage(packageName); |
|
targetedShareIntents.add(targetedShareIntent); |
|
} |
|
|
|
Intent chooserIntent = Intent.createChooser(targetedShareIntents.remove(0), getResources().getString(R.string.share)); |
|
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, targetedShareIntents.toArray(new Parcelable[] {})); |
|
startActivityForResult(chooserIntent, 0); |
|
} |
|
} |