L'envoi de courrier électronique html dans android en utilisant & lt; table & gt ;, etc - n'y a-t-il vraiment pas de manière intentionnelle intégrée?

J'ai lu pas mal sur les limites de l'envoi de courriels au format html à partir d'android. Toutes les suggestions pour envoyer des e-mails html semblent être juste passer du Html.fromHtml(yourHtmlString) à l'intention de l'Intention.EXTRA_TEXT. Cela fonctionne pour quelques balises (gras, italique - mais pas pour quelque chose comme un tableau html.

Il semble que vous pouvez essayer de l'étendre certaines fonctionnalités de Html ou de mettre en œuvre votre propre taghandler, mais je me demande si il n'y a pas plus de limitation fondamentale qui va vous forcer à faire quelque chose de complètement différent (comme l'e-mail de l'api ou de quelque chose).

La raison je suggère c'est parce que, aussi loin que l'intention elle-même ne sait, Html.fromHtml(bla) est tout simplement un charsequence, et si vous appelez les méthodes sur la charsequence interface sur cet objet, vous ne voyez pas tout code html de trucs (au moins je n'ai pas). Tout le code html/tag genre de choses semble être enveloppé dans la SpannableStringBuilder que Html.fromHtml renvoie en fait... et je me demande si l'application gmail regarde sous les couvertures pour voir ce que le charsequence est vraiment et puis peut gérer à peu de balises, ce qui signifie qu'il n'y a aucun espoir de faire quoi que ce soit sur votre application côté de choses pour obtenir/le truc de l'application gmail pour gérer quoi que ce soit plus compliqué que gras, italique, etc.

J'ai regardé le raw e-mail l'application gmail envoie, et il envoie automatiquement à la fois un texte/brut sans les balises et le texte/html version avec le nombre limité de balises. J'ai même essayé de les coller dans certains échappé des balises html qui pourraient finalement se transforme en réelle des balises dans le texte/html partie de l'e-mail, mais hélas, ils sont restés échappé... et qui serait évidemment très orthodoxe.

De toute façon, pour toute personne qui pourrait avoir regardé cette plus, je voulais faire une confirmation supplémentaire que la valeur par défaut d'android "envoyer des e-mails html" fonctionnalité, vous obtiendrez maddeningly proche de ce que vous pourriez avoir besoin, mais à la fin vous avez à mordre la balle et de mettre en œuvre beaucoup de niveau inférieur vous des trucs (comme Envoyez un Courriel à Android à l'aide de l'API JavaMail sans l'aide de la valeur par défaut/intégré dans l'app , ce qui signifie que vous avez à traiter avec le pw trucs, etc.).

Note (plus tard):
J'ai enveloppé le SpannableStringBuilder retourné à partir de Html.fromHtml avec une classe personnalisée qui s'étendait SpannableStringBuilder et votée à l'intention d'écouter les appels à la Duré de l'interface. Il s'avère que lorsque les choses sont écrites dans le colis est envoyé à l'adresse électronique de l'intention, de TextUtils.writeToParcel fait un peu particulières de contrôle pour extirper le gras/italique trucs par vérifier d'abord si le CharSequence est une instance de Fractionné, et puis en demandant pour les extensions (par l'intermédiaire de fractionné.getSpans). Néanmoins, je ne vois pas évident espoir en faisant les modifications pour obtenir quelque chose d'aussi simple que de table/td balises gérées. Et j'ai même essayé de modifier les méthodes toString() de mon sous-classe de SpannableStringBuilder revenir à raw tableau html pour voir ce qui allait se passer, mais elle est échappé quelque part là-bas dans le colis-le processus d'écriture.

Et Plus (Plus Tard):
TextUtils.writeToParcel(CharSequence cs, de la Parcelle p,...), si cs est une instance de "Fractionné", écrire ces travées seulement s'ils mettent en œuvre le "ParcelableSpan" interface... ce qui est "Un type spécial de Parcelable pour les objets qui servira de texte s'étend" et "ne peut être utilisé par le code dans le cadre; il n'est pas prévu pour des applications à mettre en œuvre leurs propres Parcelable s'étend". Donc, même si vous voulais accrocher dans cette et à écrire votre propre pour gérer les balises de tableau ou que ce soit, il semble être découragé. Homme je souhaite hackbod pèse ici avec quelque chose d'évident, je l'ai raté.

source d'informationauteur user655489 | 2011-10-16