J'ai lu tant de théories sur l'enregistrement d'un fichier sur le stockage interne et le stockage externe que je ne sais plus exactement quoi faire. J'ai créé un fichier PDF avec droidtext que je veux envoyer par e-mail en pièce jointe dans l'application de messagerie choisie. Ce n'est pas un problème. J'ai réussi à cela, cependant ... Je ne peux le faire qu'avec le stockage externe. Donc, je crée un PDF, le mettre dans le stockage externe avec Environment.getExternalStorageDirectory().getAbsolutePath()
. Cependant, si aucun stockage externe n'est disponible, je veux enregistrer le PDF sur le stockage interne. Je l'ai fait comme ça jusqu'à présent: externe (fonctionne parfaitement):Stockage interne ou externe
pdf = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + java.io.File.separator + fileName);
PdfWriter.getInstance(document, new FileOutputStream(pdf));
Stockage interne:
pdf = new File(fileName);
PdfWriter.getInstance(document, openFileOutput(fileName, MODE_PRIVATE));
Avec les deux ayant Document document = new Document();
. La méthode de mémoire interne ne fournit aucune erreur, mais je ne suis pas sûr si le fichier est enregistré en interne. En outre, je pense que parce qu'il est enregistré en interne, l'application de messagerie ne sera pas en mesure de le sélectionner en pièce jointe. Je ne peux pas tester cela parce que mon émulateur n'a pas d'application de messagerie. Je ne peux pas non plus passer en revue le contenu de l'appareil. Je n'ai pas non plus d'appareil qui ne possède pas de stockage externe ...
Quelle est la meilleure façon de le résoudre? Forcer les utilisateurs à avoir un stockage externe ou existe-t-il d'autres moyens de résoudre ce problème?
Merci pour votre réponse! J'espère que quelqu'un peut me répondre avec 100% de certitude. –