Como especificar o nome do arquivo para ACTION_SEND?
Estou usando ACTION_SEND para enviar um arquivo do provedor de conteúdo no meu aplicativo como um anexo de email no GMail. Isso funciona muito bem, exceto que não posso especificar programaticamente o nome do arquivo do anexo. Quando meu URI é
content: //my.documentcontentprovider/32
O nome do arquivo do anexo é 321. 321 é o ID do document
Eu olhei as especificações para Intent e não vejo uma chave EXTRA_ para especificar o nome do arquivo. A única solução alternativa que eu poderia criar é anexar o nome do arquivo ao meu URI:
content: //my.documentcontentprovider/321/photo.jp
Deveria funcionar, mas parece um pouco hacky. Se alguém tiver uma ideia melhor, faça um sinal. Aqui está o meu código, caso seja útil:
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);