Кодовое имя One Android sendMessage HTML

Мое приложение компилирует и отправляет HTML-сообщение со следующим кодом:

String s = ...; // html text with normal & bold face, proportional & monospaced fonts, etc.
Message msg = new Message(s);
msg.setMimeType(Message.MIME_HTML);
sendMessage(subject, msg, recipients);

На iOS (iPhone X) это работает, приложение Mail открывается с правильным отображением текста в формате html.

На Android (Samsung Tab A) это не работает:

  • Приложение Gmail: показывает простой текст с новой строкой (без жирного шрифта и т. д.)
  • Приложение электронной почты (Samsung): простой текст без символов новой строки (dito)

(В симуляторе с почтовым клиентом я вижу правильный исходный текст html.)

Как это решить?

Возможно это связано с https://github.com/codenameone/CodenameOne/issues/3101.

РЕДАКТИРОВАТЬ

Протестировано на следующем примере HTML:

<!DOCTYPE html>
<html>
<body>
<h2>Example</h2>
Text with <b>bold</b> and <i>italics</i>.<br>
This text on a new line.
</body>
</html>

Со следующим выводом (скриншоты чтения отправленных писем):

Кодовое имя One Android sendMessage HTML

Кстати, при отправке обычного текста вместо HTML символы новой строки не отображаются в Gmail, в отличие от Samsung Email (см. Проблему 3101).

Как выглядит HTML? Если <br> уважают, то почему <b> или <strong> нет?

Shai Almog 06.04.2021 04:34

Я добавил к своему вопросу пример HTML (см. ИЗМЕНИТЬ) с тремя разными выходами. Возможно ли, что раньше это работало, а теперь нет из-за недавних изменений?

J-J 06.04.2021 14:21

Немного посмотрев на код Android, который использует этот подход, я заметил, что большинство разработчиков не используют полный HTML только подмножество при создании электронной почты, например. <h2>Example</h2> Text with <b>bold</b> and <i>italics</i>.<br> This text on a new line.

Shai Almog 07.04.2021 04:39

Я пробовал это, и результат точно такой же. Я подал вопрос: github.com/codenameone/CodenameOne/issues/3386.

J-J 07.04.2021 14:46

Это очень странно. Я посмотрел на код на похожие вопросы, и наш код делает то же самое внутри. Также похоже, что HTML частично принимается в gmail, поскольку пример разделен, а новая строка принимается. Кажется, что игнорируется только само форматирование, что заставляет меня думать, что это проблема gmail html

Shai Almog 08.04.2021 04:35
1
5
49
0

Другие вопросы по теме