Как поделиться PDF-файлом и текстом в WhatsApp с единым намерением в Android?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как поделиться PDF-файлом и текстом в WhatsApp с единым намерением в Android?

Сообщение Anonymous »

private void ShareFileAndLinkViaIntent() {
Set selectedDispatches = mRetailerHistoryAdapter.getSelectedDispatchItems();
Set selectedOtherItems = mRetailerHistoryAdapter.getSelectedOtherItems();

Код: Выделить всё

    try {
// Track events for sharing
for (CustomerHistoryListBean item : selectedDispatches) {
Utils.getInstance().eventTracking(this, "dispatch_share");
}
for (CustomerHistoryListBean item : selectedOtherItems) {
Utils.getInstance().eventTracking(this, item.getActivity_type() + "_share");
}

StringBuilder shareText = new StringBuilder();

// Add links and documents for dispatch transactions
for (CustomerHistoryListBean dispatchItem : selectedDispatches) {
String dispatchLink = getShareLink(dispatchItem);
shareText.append(AppConstants.DEEP_LINK_TYPE.DISPATCH).append(": ").append(dispatchLink).append("\n\n");
}

// Add links for other transactions
for (CustomerHistoryListBean otherItem : selectedOtherItems) {
String otherLink = getShareLink(otherItem);
String activityName = getActivityDeeplinkType(otherItem);
shareText.append(activityName).append(": ").append(otherLink).append("\n\n");
}

Intent shareIntent = new Intent();

if (!dispatchFilesUri.isEmpty()) {
// Handle multiple files
if (dispatchFilesUri.size() > 1) {
shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
shareIntent.setType("application/pdf");
shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, dispatchFilesUri);
} else {
// Single file
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("application/pdf");
shareIntent.putExtra(Intent.EXTRA_STREAM, dispatchFilesUri.get(0));
}
} else {
// Text-only sharing
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
}

// Add shared text
shareIntent.putExtra(Intent.EXTRA_TEXT, shareText.toString());
shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
shareIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

startActivity(Intent.createChooser(shareIntent, getString(R.string.share_link_ex)));

} catch (Exception e) {
e.printStackTrace();
}
}
Этот код отлично работает для Gmail, но не работает для WhatsApp.

Подробнее здесь: https://stackoverflow.com/questions/792 ... in-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»