Invio di email html in android utilizzando <table>, ecc. – non esiste realmente un modo intentato relativamente incorporato?

Ho letto un bel po 'sulle limitazioni di submit email html da android. Tutti i suggerimenti per submit email html sembrano essere solo passare Html.fromHtml (yourHtmlString) all'intento come Intent.EXTRA_TEXT. Questo funziona per alcuni tag di base – grassetto, corsivo – ma non per nulla come una tabella html.

Sembra che tu possa provare a estendere alcune delle funzionalità di Html o implementare il tuo taghandler, ma mi chiedo se non c'è una limitazione più fondamentale che ti obbligherà a fare qualcosa di completamente diverso (come con l'api di posta o qualcosa ).

  • I risultati getFromLocationName di Android restituiscono risultati al di fuori della casella di confini
  • Impedire che funzioni venga spogliata da una libreria statica quando collegata a una libreria condivisa?
  • Dove è la cartella temp nel dispositivo android?
  • Differenza tra armeabi e armeabi-v7a
  • Emettere l'initialization di un JSONObject
  • Androide Dividere il cerchio in N parti uguali e conoscere le coordinate di ciascun punto di divisione
  • La ragione per cui suggerisco questo è perché, per quanto l'intento stesso sa, Html.fromHtml (blah) è semplicemente una caratteristica, e se chiamate i methods sull'interface di charness su questo object non si vede nessun contenuto html alless non l'ho fatto). Tutte le cose html / tag sembrano essere avvolte in SpannableStringBuilder che Html.fromHtml effettivamente restituisce … e mi chiedo se l'applicazione gmail guarda sotto le copertine per vedere che cosa è la carezza e quindi può gestire qualche tag , il che significa che non c'è speranza nel fare qualcosa sul lato dell'applicazione per get / ingannare l'applicazione gmail per gestire qualsiasi cosa più complicata di quella grassetta, corsiva, ecc.

    Ho guardato l'email grezzo che l'applicazione gmail effettua effettivamente invia e invia automaticamente sia text / pianura senza tag, sia la versione di text / html con il numero limitato di tag. Ho anche provato ad attaccare alcuni tag html scappati che potrebbero arrivare in ultima analisi a tag effettivi nella parte di text / html dell'e-mail, ma ahimè essi sono rimasti fuggiti … e questo sarebbe ovviamente un po 'insultato.

    Comunque, per chiunque abbia potuto esaminare questo aspetto, ho voluto fare una conferma aggiuntiva che la funzionalità di default di android "submit email html" ti avrà estremamente vicini a quello che potrebbe essere necessario, ma alla fine dovrai mordere il proiettile e implementa molte cose di livello inferiore (ad esempio, invio di un messaggio di posta elettronica in Android utilizzando JavaMail API senza utilizzare l'applicazione predefinita / incorporata , il che significa che devi occuparsi delle cose di pw, ecc.).

    Nota (più successivamente): ho spostato SpannableStringBuilder restituito da Html.fromHtml con una class personalizzata che ha esteso SpannableStringBuilder e lo ha trasmesso per l'intenzione di ascoltare le chiamate all'interface Spanned. Si scopre che quando le cose vengono scritte sul pacco che viene inviato all'intento di posta elettronica, TextUtils.writeToParcel esegue alcuni controlli speciali per eliminare la roba bold / italic prima controllando se la CharSequence è un'istanza di Spanned e poi chiedendo gli spans (via spanned.getSpans). Tuttavia, non vedo alcuna evidente speranza nel fare le modifiche per get qualcosa di semplice come i tag table / td gestiti in là. E ho anche provato a modificare il toString () della mia sottoclass di SpannableStringBuilder per restituire qualche html di tabella raw per vedere cosa sarebbe successo, ma viene fuggito altrove nel process di scrittura di pacchetti.

    E più (più tardi): TextUtils.writeToParcel (CharSequence cs, Parcel p, …), se cs è un'istanza di "Spanned", scrivere quelle versioni solo se implementano l'interface "ParcelableSpan" … che è " Un tipo speciale di Parcelable per oggetti che servirà come rientri di text "e" può essere utilizzato solo da codice nel framework, non è destinato alle applicazioni per implementare le proprie fasce parcellabili ". Quindi, anche se voleste aderire a questo e scrivere il tuo per gestire tag di tabella o qualsiasi altra cosa, sembra essere scoraggiato. L'uomo che vorrei che hackbod avrebbe pesato qui con qualcosa di ovvio che ho perso.

  • Java: Hai bisogno di un modo per abbreviare questo codice
  • Android ViewPager con ScrollViews con ViewPagers all'interno di ScrollViews
  • salvare i dati sulle tabs
  • Retrofit Post Parametro
  • Come get Coordinate su un evento a contatto non bitmap non dello schermo
  • L'intento in sospeso fa sempre nuove attività
  • One Solution collect form web for “Invio di email html in android utilizzando <table>, ecc. – non esiste realmente un modo intentato relativamente incorporato?”

    Questo funziona per alcuni tag di base – grassetto, corsivo – ma non per nulla come una tabella html.

    Questa è una function del client di posta elettronica, molto probabilmente. Non tutti i client di posta elettronica possono scrivere HTML arbitrari su qualsiasi piattaforma. Quindi, mentre Mozilla Thunderbird sembra consentirti di creare una posta HTML con una tabella, Gmail non (in less, non vedo un'opzione nella window di composizione dei messaggi).

    Mi chiedo se non c'è una limitazione più fondamentale che ti obbligherà a fare qualcosa di completamente diverso

    A less che non scrivi il tuo client di posta elettronica, estendendo le diverse classi necessarie per consentire a TextView e EditText di gestire le tabelle HTML (è molto più che la class Html ) non ti farà bene.

    e mi chiedo se l'applicazione gmail guarda sotto le copertine per vedere cosa è la carezza e quindi può gestire qualche tag

    TextView e EditText possono "gestire alcuni tag", allineati approssimativamente con ciò che Html può analizzare / generare e SpannedString può rappresentare.

    Nessuno di questi può gestire una tabella HTML. Né JavaScript. Né CSS. Né iframe né alcun numero di altri tag.

    ma alla fine dovrai mordere il proiettile e implementare molte cose di livello inferiore

    Avrei iniziato chiedendo se invii direttamente la posta HTML con le tabelle dal telefono direttamente. Potresti submit la posta HTML con le tabelle dal tuo server usando un'interface del servizio Web oppure puoi submit tabelle sans di posta HTML dal telefono. Nessuno di questi richiederebbe di raccogliere "la roba pw".

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.