Autore Topic: Inviare un'email CON PIÙ ALLEGATI tramite Intent  (Letto 3763 volte)

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Inviare un'email CON PIÙ ALLEGATI tramite Intent
« il: 17 Febbraio 2011, 00:35:42 CET »
+1
Con questo snippet è possibile richiedere l'invio di un'email contenente più di un allegato tramite i client di posta presenti sul telefono (se più di uno, verrà proposta una schermata di selezione con titolo "Invia email..."):
Codice (Java): [Seleziona]
    public static void sendEmail(Context context, String emailTo, String emailCC,
            String subject, String emailText, List<String> filePaths){

        //need to "send multiple" to get more than one attachment
        final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE);

        emailIntent.setType("plain/text");
        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailTo});
        if(emailCC != null) emailIntent.putExtra(android.content.Intent.EXTRA_CC, new String[]{emailCC});
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText);
       
        //has to be an ArrayList
        ArrayList<Uri> uris = new ArrayList<Uri>();

        //convert from paths to Android friendly Parcelable Uri's
        for (String file : filePaths){
            File fileIn = new File(file);
            Uri u = Uri.fromFile(fileIn);
            uris.add(u);
        }
        emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

        context.startActivity(Intent.createChooser(emailIntent, "Invia email..."));
    }
(fonte)

ATTENZIONE
Sembra non funzionare su Android 1.6 (testato su ADP1). Funziona correttamente su Android 2.3 (CM7).
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline systemgvp

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Ideos
  • Play Store ID:
    systemgvp
  • Sistema operativo:
    Windows 7
Re:Inviare un'email CON PIÙ ALLEGATI tramite Intent
« Risposta #1 il: 29 Febbraio 2012, 13:22:28 CET »
0
salve,

sto sviluppando un'applicazione che deve inviare un'email con tre allegati, ma questo metodo non mi funziona, io uso:

Codice (Java): [Seleziona]
ArrayList<Uri> uris = new ArrayList<Uri>();
        uris.add(Uri.fromFile(new File("file://"+Environment.getExternalStorageDirectory().getAbsolutePath()+"/Pictures/parcheggio.jpg")));
        uris.add(Uri.fromFile(new File("file://"+Environment.getExternalStorageDirectory().getAbsolutePath()+"/Pictures/parcheggio.jpg")));
        email.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Inviare un'email CON PIÙ ALLEGATI tramite Intent
« Risposta #2 il: 29 Febbraio 2012, 13:56:36 CET »
0
stai allegando lo stesso file, ovviamente te lo vede come uno solo....
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline systemgvp

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Ideos
  • Play Store ID:
    systemgvp
  • Sistema operativo:
    Windows 7
Re:Inviare un'email CON PIÙ ALLEGATI tramite Intent
« Risposta #3 il: 29 Febbraio 2012, 18:37:09 CET »
0
Veramente non li mostra proprio i file, é questo il problema

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Inviare un'email CON PIÙ ALLEGATI tramite Intent
« Risposta #4 il: 29 Febbraio 2012, 22:34:32 CET »
0
Veramente non li mostra proprio i file, é questo il problema
se usi quella stringa da qualsiasi altra parte il file lo vedi?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline systemgvp

  • Nuovo arrivato
  • *
  • Post: 49
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Ideos
  • Play Store ID:
    systemgvp
  • Sistema operativo:
    Windows 7
Re:Inviare un'email CON PIÙ ALLEGATI tramite Intent
« Risposta #5 il: 01 Marzo 2012, 11:33:16 CET »
0
Si, altrove il file lo vede, ma in questa procedura proprio non ne vuole sapere