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

È stato utile?

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
scroll top