2015-02-18 15 views
6
Intent sendIntent = new Intent(Intent.ACTION_SEND); 
      sendIntent.putExtra(Intent.EXTRA_TEXT, text.getText()); 
      sendIntent.setType("message/rfc822"); 
      startActivity(Intent.createChooser(sendIntent, "Send email with")); 

questo era il mio codice.Nessuna applicazione può eseguire questa azione, quando inviare e-mail

Ho provato la posta di invio in emulatore. Ma mostra che nessuna applicazione può eseguire questa azione. se qualcuno sa mezzi mi dicono

Grazie in anticipo

+0

per favore guarda nella mia risposta e accettalo, se ti ha aiutato (sono sicuro che lo sarebbe) – Drew

risposta

6

è necessario utilizzare text/plain

intent.setType("text/plain"); 

Inoltre, il Intent.ACTION_SEND è fatto per la condivisione, si consiglia di utilizzare Intent.ACTION_SENDTO solo ottenere l'elenco dei client di posta elettronica, o evitare applicazioni di condivisione come Facebook, Twitter, ecc

+0

se ho usato l'ACTION_SENDTO mostrerà la casella di testo. ma non riesco a digitare niente in quello. @Gorcyn – Aoryouncellvan

+0

l'editor di testo completo funziona perfettamente nel mio telefono Android. Ma non sta funzionando nella mia macchina virtuale. dimmi qualcuno qual è il problema? o voglio eseguire qualsiasi altra versione bassa. – Aoryouncellvan

+0

Inten sendentent = new Intent (Intent.ACTION_SENDTO); sendIntent.putExtra (Intent.EXTRA_EMAIL, text.getText()); sendIntent.setType ("text/plain"); startActivity (Intent.createChooser (sendIntent, "Invia email con")); funziona parzialmente bene – Aoryouncellvan

-1

Questo significa che non v'è alcuna applicazione che si registra per la gestione di questo tipo di intenti.

Edit: provare a impostare il tipo di intento di "text/plain"

emailIntent.setType("text/plain"); 

e/o impostare EXTRA_EMAIL per impostare il contenuto della e-mail

sendIntent.putExtra(Intent.EXTRA_EMAIL, text.getText()); 
+0

l'app è un editor di testo. il resto di tutto il salvataggio, salva con nome di ricerca tutti funzionano correttamente. se ho provato a inviare e-mail il testo mostra questo errore – Aoryouncellvan

+0

@Aoryouncellvan, dai un'occhiata alla mia risposta aggiornata. –

+0

Inten sendentent = new Intent (Intent.ACTION_SENDTO); \t \t \t \t sendIntent.putExtra (Intent.EXTRA_EMAIL, text.getText()); \t \t \t \t sendIntent.setType ("text/plain"); \t \t \t \t startActivity (Intent.createChooser (sendIntent, "Invia email con")); Mostrerà una casella di testo ma non riesco a modificare in quello .... – Aoryouncellvan

0

Questo generalmente significa che non v'è nessuna applicazione installata al momento, che comprende la richiesta che stai facendo.

In questo caso, azzarderei l'ipotesi che sull'emulatore non sia installata alcuna app di posta elettronica? O forse non è stato creato.

2

C'è un approccio migliore, se si desidera inviare la posta: utilizzare Action.SEND_TO:

Intent sendIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:[email protected]")); 
sendIntent.putExtra(Intent.EXTRA_TEXT, text.getText()); 

Questo restringerà la lista di ricerca.

NOTA: assicurarsi di aver impostato l'account di posta elettronica sull'emulatore, altrimenti l'applicazione di posta elettronica non sarà presente nell'elenco dei gestori e otterrete un'eccezione.

2

questo ha lavorato per me

Intent email = new Intent(Intent.ACTION_SEND); 
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"});   
email.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
email.putExtra(Intent.EXTRA_TEXT, "message"); 
email.setType("message/rfc822"); 
startActivity(Intent.createChooser(email, "Choose an Email client :")); 
+0

Questa soluzione mi piace di più, perché Intent.ACTION_SENDTO non visualizza alcuna app di posta elettronica con molti telefoni. – Damnum

0

Dopo aver provato tutto come indicato nelle osservazioni di cui sopra, se non trovate la vostra soluzione, è sufficiente impostare una e-mail nella posta elettronica predefinito in Emulator. Per me funziona.

Problemi correlati