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()));
Où 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?
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. –
@ 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