Исчезают переносы строк при переходе в Gmail через Intent на Samsung

104
15 февраля 2022, 01:30

Использую intent для перехода из приложения на почту и заполнение письма шаблоном.

 `public class BasicHelper {
        public static Intent reportQuestion(Long id, String text, String explanation) {
            Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
                    "mailto","gmail@test.com", null));
            String subject  = "Subject #" + id;
            String questionBody = Html.fromHtml(String.format(Locale.US, "<br><br> <b>Question</b>: <br> %s <br><br> <b>Explanation:</b><br>%s",
                    text,
                    explanation
            ).toString();

            emailIntent.putExtra(Intent.EXTRA_EMAIL, questionBody);
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
            emailIntent.putExtra(Intent.EXTRA_TEXT, questionBody);
            Uri uri = Uri.parse("mailto:receipient@mail.com?subject="+subject+"&body="+questionBody);
            emailIntent.setData(uri);
            return emailIntent;
        }
    }`

При переходе на почту на нормальных устройствах ошибок не возникает, все работает волшебно, однако при переходе на почту на Samsung стираются все переносы строк и в questionBody в письме сплошной текст, подскажите пожалуйста почему может возникать данная проблема и в какую сторону смотреть чтобы исправить;

Answer 1

Вы не говорите обработчику Intent какой mime тип сообщения он обрабатывает.

Я бы предложил вставить:

emailIntent.setType("text/html");
Answer 2

Насколько я понимаю, вы не применяете теги разделения для вашей переменной text:

String questionBody = Html.fromHtml(String.format(
            Locale.US, 
            "<br/> <b>Question</b>: <br/> %s <br/> <b>Explanation:</b> <br/> %s",
            "<p/> " + text + "<p/>",
            explanation)).toString();
READ ALSO
Android калькулятор не работает

Android калькулятор не работает

Написал я простенький калькулятор с вычислением процентовНекоторые числа он обрабатывает нормально и все выводит туда куда нужно

138
Нужно ли указывать final для всех переменных которые не изменяются?

Нужно ли указывать final для всех переменных которые не изменяются?

В книгах о Java написано, что если переменная не будет изменятся, то нужно указывать модификатор finalНо получается, что тогда этот модификатор...

288