/** * Set share intent * * @param selectedItems * @return shared intent */ public static Intent createShareIntent(ArrayList<MediaObject> selectedItems) { final ArrayList<Uri> uris = new ArrayList<Uri>(); final Intent intent = new Intent(); int mediaType = 0; String mimeType = "image/*"; for (int i = 0; selectedItems.size() > i; i++) { if (uris.size() >= 1000) break; mediaType = selectedItems.get(i).getType(); mimeType = (mediaType == MediaItem.IMAGE) ? "image/*" : "video/*"; MediaItem item = (MediaItem) selectedItems.get(i); Uri uri = ContentUris.withAppendedId(item.getUri(mediaType), item.getId()); uris.add(uri); } final int size = uris.size(); if (size > 0) { if (size > 1) { intent.setAction(Intent.ACTION_SEND_MULTIPLE).setType(mimeType); intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); } else { intent.setAction(Intent.ACTION_SEND).setType(mimeType); intent.putExtra(Intent.EXTRA_STREAM, uris.get(0)); } intent.setType(mimeType); } return intent; }
/** * Set share intent * * @param mediaItems - selectedItems * @param position - item position * @return shared intent */ public static Intent createShareIntent(ArrayList<MediaItem> mediaItems, int position) { final Intent intent = new Intent(); String mimeType = "image/*"; if (position >= mediaItems.size()) { position = mediaItems.size() - 1; } MediaItem item = mediaItems.get(position); mimeType = (item.getType() == MediaItem.IMAGE) ? "image/*" : "video/*"; long id = item.getId(); Uri uri = ContentUris.withAppendedId(item.getUri(item.getType()), id); intent.setAction(Intent.ACTION_SEND).setType(mimeType); intent.putExtra(Intent.EXTRA_STREAM, uri); intent.setType(mimeType); return intent; }