2012-01-31 1 views
1

J'aimerais pouvoir créer un fichier PDF à partir d'un tableau bytestream/byte, puis l'envoyer en tant que pièce jointe à un e-mail sans qu'il soit nécessaire de le stocker la carte SD/stockage interne du téléphone.Envoyer un fichier PDF par e-mail sans enregistrer sur le téléphone (android)

C'est ce que je fais en ce moment:

Intent sendIntent = new Intent(Intent.ACTION_SEND); 
sendIntent.setType("text/html"); 
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject"); 
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getAbsolutePath())); 

file est un objet de fichier qui contient l'emplacement du PDF que je suis en train d'envoyer.

Existe-t-il un moyen de prendre le tableau d'octets et de le joindre au format PDF et de l'envoyer immédiatement?

Répondre

2

Y at-il un moyen de prendre la matrice d'octets et de l'attacher comme un fichier PDF et de l'envoyer immédiatement?

Seulement si vous écrivez votre propre client de messagerie et l'intégrer dans votre application.

+0

C'est ce dont j'avais peur ... puis-je le stocker en mémoire? Je veux simplement leur permettre de toujours envoyer ce PDF par e-mail s'ils n'ont pas de carte SD ou s'ils ne disposent pas d'espace. Ce n'est pas une exigence, mais ce serait bien. –

+1

@ kwc2011: "Puis-je le stocker en mémoire?" - c'est ce que vous avez demandé dans votre question et j'ai répondu dans ma réponse. "Je veux juste leur permettre de toujours envoyer ce PDF par e-mail s'ils n'ont pas de carte SD, ou s'ils n'ont pas d'espace dessus." - puis stockez-le sur le stockage interne. Créez un ContentProvider pour le servir, puis utilisez son Uri pour votre Intent, ou enregistrez le fichier en utilisant openFileOutput() et MODE_WORLD_READABLE. – CommonsWare

Questions connexes