Как указать имя файла для ACTION_SEND?

Я использую ACTION_SEND для отправки файла от поставщика контента в моем приложении в качестве вложения электронной почты в GMail. Это прекрасно работает, за исключением того, что я не могу программно указать имя файла вложения. Когда мой URI

Содержание: //my.documentcontentprovider/321

Имя файла вложения - 321. 321 - идентификатор документа.

Я посмотрел на спецификацию Intent и не вижу клавиши EXTRA_ для указания имени файла. Единственный способ обойти это - добавить имя файла в мой URI:

Содержание: //my.documentcontentprovider/321/photo.jpg

Это должно сработать, но, кажется, немного хак Если у кого-то есть идея получше, пожалуйста, включите. Вот мой код, если он полезен

    Intent sendDoc = new Intent();
    sendDoc.setAction(Intent.ACTION_SEND);
    sendDoc.putExtra(Intent.EXTRA_SUBJECT, doc.name);
    sendDoc.putExtra(Intent.EXTRA_STREAM, DocumentContentProvider.getUri(doc.id));
    sendDoc.setType(doc.contentType);
    this.foldersFragment.startActivity(sendDoc);

Ответы на вопрос(1)

Ваш ответ на вопрос