2011-03-04 4 views
14

Nota: so che ci sono molte domande simili su SO. Tuttavia, non sto cercando di integrare queste immagini, voglio solo che l'HTML rimanga così com'è.L'invio di intenti e-mail HTML senza avere <img> rimosso?

Sembra che il modo normale per inviare e-mail HTML tramite l'intento è quello di utilizzare Html.fromHtml (String)

Ad esempio:

Intent intent = new Intent(android.content.Intent.ACTION_SEND); 
intent.setType("text/html"); 
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
intent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(htmlString)); 
startActivity(intent); 

Tuttavia, come si afferma nella sua documentazione, sostituisce tutti i tag con un carattere speciale da utilizzare con un ImageGetter.

Non voglio in linea e allega queste immagini. Voglio solo che i tag img rimangano come sono nell'html. Non ho bisogno di allegare le immagini.

Ad esempio, desidero: <img src="http://www.somedomain.com/somewebsite/someimage.jpg" /> rimanere così.

È possibile?

Grazie

risposta

11

client conformi posta elettronica standard saranno sempre striscia tag img, fino a quando l'utente concede il permesso altrimenti.

Le immagini nelle e-mail possono identificare il computer sul server da cui sono state richieste, quindi è una misura di sicurezza e rimarrà tale fino a quando non verrà creato un nuovo sistema migliore.

+1

re i client di posta elettronica che rimuovono i tag img: non completamente vero, non è una cosa di conformità agli standard, è una cosa di sicurezza/privacy. e anche i tag img che fanno riferimento alle immagini allegate piuttosto che agli URL non vengono eliminati dalla maggior parte dei client di posta elettronica – SteelBytes

+1

Non sono sicuro che questa sia la risposta alla domanda. L'OP sta provando a * inviare * tag immagine nell'e-mail, e questo non funziona; visualizzarli sul lato client (lavorare sui client che rimuovono i tag img) è un altro problema. – zeh

+0

Come potrei concedere questa autorizzazione? – Jorgesys

0

Sei sicuro di non voler solo il seguente?

intent.putExtra(android.content.Intent.EXTRA_TEXT, htmlString);

sembra strano per collegare una attraversato l'intento non solo di consegnare il codice HTML stesso.

+1

L'ho provato, ma le applicazioni di posta elettronica come Gmail mostrano il codice html come testo non elaborato. Non sembra renderlo. – cottonBallPaws

+0

No, l'OP ha fatto il metodo corretto. Se il testo passato è una stringa, viene interpretato come testo normale, anche con tag HTML. – zeh