Allegati nell'e-mail
-
27-10-2019 - |
Domanda
Sto sviluppando un'app che richiede l'invio di e-mail a una persona.Tutto funziona bene tranne l'allegato.Ed ecco il pezzo di codice per questo
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse( "file://"+Environment.getExternalStorageDirectory()+""+attach));
allegare è il file che ho ottenuto sfogliando nel telefono. Ma l'allegato non viene inviato. Aiutaci.
Grazie
Soluzione
Secondo il mio post sul blog trovato qui:
Creare una mail su Android che l'utente può inviare con la sua app la scelta è ampiamente diffusa in rete.Ma non è come allegare un file che verrà inviato tramite googlemail.
Il problema qui è che l'app Gmail vuole solo inviare file che si trovano sulla scheda SD
Intent mail = new Intent(android.content.Intent.ACTION_SEND); mail.setType("application/octet-stream"); mail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"my@mail.com"}); mail.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); mail.putExtra(android.content.Intent.EXTRA_TEXT, "Message"); mail.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + "/file.txt")); PrefAct.startActivity(Intent.createChooser(mail, "Send mail via..."));
Come detto, gmail rifiuterà il tuo allegato quando l'utente invia la posta quando il file non si trova in ExternalStorage.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow