Autore Topic: Inviare una semplice mail tramite l'app Gmail  (Letto 2522 volte)

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Inviare una semplice mail tramite l'app Gmail
« il: 07 Febbraio 2011, 21:02:38 CET »
0
Ciao a tutti, sto diventando matto con questo problema.
Voglio inviare una "semplice" mail di testo utilizzando l'app di GMAIL, ma sul web trovo sempre lo stesso esempio... molto semplice, ma che a me non funziona...

Non solo non crea l'email, ma addirittura compare il "chooser" con un errore: "No application can perform this action".... dove sbaglio?



L'esempio "classico" è il seguente:

Codice (Java): [Seleziona]
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "nome.cognome@gmail.com");
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "prova");
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "la mia prima mail");
startActivity(Intent.createChooser(emailIntent, "Send mail..."));

Quello che mi sarei aspettato è di avere la possibilità di scegliere tra le varie app che "possono" inviare email... GMAIL, EMAIL ecc.... un po' come quando si sceglie la voce "condividi" per esempio dalla gallery oppure dal browser..

grazie, ciao

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #1 il: 07 Febbraio 2011, 22:09:18 CET »
0
Hai provato solo sull'emulatore o anche su un device?

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #2 il: 08 Febbraio 2011, 05:46:15 CET »
0
E' vero, si comporta diversamente, su emulatore viene presentato l'errore, sul device (il mio fido G1) mi permette di scegliere tra "GMAIL" e "BLUETOOTH" (ho bluetooth file transfer installato), pero' mi sarei aspettato che anche l'applicazione "EMAIL" comparisse nella lista, come mai non "risponde" alla richiesta di intent?
Tendenzialmente io uso GMAIL quindi non è un problema, è più una curiosità.

Altra cosa, i campi degli "extra" vengono compilati, ma non quello dei destinatari.... c'è qualcosa di sbagliato in questa riga?:

Codice (Java): [Seleziona]
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "nome.cognome@gmail.com");
grazie ancora

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #3 il: 08 Febbraio 2011, 09:53:27 CET »
0
Lo utilizzi male, si aspetta un array di String non una semplice String.

Intent | Android Developers

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #4 il: 08 Febbraio 2011, 10:50:29 CET »
0
Grazie mille, e' vero, dovevo passarglieli come array di stringhe!

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #5 il: 15 Marzo 2011, 22:19:34 CET »
0
Ciao a tutti, riapro un attimo questo post dopo un po' di tempo....
Avevo "risolto" l'invio di una mail lanciando l'intent come descritto sopra...
La cosa molto strana è che lo stesso codice funziona "randomicamente" su alcuni device e su altri no... e a volte la cosa strana è che su uno stesso device a volte funziona a volte no.. sto cercando davvero di capirne il motivo...
L'errore che ottengo quando provo a "creare" la mail e lanciare "gmail" dal chooser è il seguente:



E non riesco a capire se dipende dal mio codice o meno... qualcuno ha avuto problemi simili?... come faccio a "capire" il motivo per cui l'applicazione Gmail "crasha".
Lo stesso identico codice non funziona sul mio Nexus One con Android 2.3.3 (CyanogenMod 7), su Desire con Android 2.2 (originale HTC Sense), su G1 con Android 2.2 (CyanogenMod 6), mentre funziona su un G1 con Android 2.1 (CyanogenMod 5.1) e su un Vodafone Ideos con Android 2.2 (originale)...... non sono sicuro che sia correllato con il sistema "operativo".. ma non riesco a trovare un "nesso" tra l'errore ed il mio codice...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #6 il: 15 Marzo 2011, 22:30:43 CET »
0
Mai sentito parlare di Logcat? :)

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #7 il: 16 Marzo 2011, 08:47:46 CET »
0
Si,  scusa, hai  ragione  :-)
Provo a riprodurre l'errore e posto il logcat. Diciamo che il mio dubbio era piu' legato al fatto che l'errore non si presenta "sistematicamente ". Comunque "locgatto" e poi posto :-)

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #8 il: 16 Marzo 2011, 19:45:19 CET »
0
Ho verificato con aLogcat e riesco a relazionare l'evento solo con questo messaggio di warning:

W/dalvikvm( 3033): threadid=1: thread exiting with uncaught exception (group=0x4013a560)

 mi sembra un pò generico però non ho trovato altro... non vengono generati errori
...

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #9 il: 17 Marzo 2011, 19:23:32 CET »
0
aLogCat (cosa che ho scoperto proprio oggi  o_O ) non ti fa vedere lo stesso logcat visto nel caso in cui colleghi il cellulare via usb al pc e fai "adb logcat" da terminale.

Quindi posta quel logcat, non quello di aLogcat.

Offline stepava

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Google+
    • StePava
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus & T-Mobile G1
  • Play Store ID:
    StePped Apps
  • Sistema operativo:
    Linux - Ubuntu 11.10
Re:Inviare una semplice mail tramite l'app Gmail
« Risposta #10 il: 17 Marzo 2011, 21:24:20 CET »
0
Grazie della segnalazione, ero convinto si potesse vedere tutto con aLogcat.. ho dovuto usare quello sul cell, perchè Gmail non c'è sull'emulatore :-)
In effetti la soluzione è usare il cell collegato al PC in modalità debug.

Comunque posto un aggiornamento sul mio problema, che credo di aver risolto.
Il "bug" nasceva da come componevo l'array di stringhe di indirizzi.. in pratica l'ultimo elemento dell'array era "null"... e questo causava l'errore..
la cosa più strana pero' è che non tutti i device si comportavano alla stessa maniera.. un mio amico, a cui l'applicazione non dava errore, ma la mail veniva creata normalmente, nel campo degli indirizzi trovava un destinatario chiamato "null"  :-o
Quindi significa che non tutte le versioni dell'app Gmail gestivano il "null" alla stessa maniera... quindi credo che il comportamento diverso dipendesse dalle diverse versioni dell'app Gmail installata (almeno credo...)
Adesso dovrei aver risolto il problema, grazie a tutti del supporto :-)