Разрыв строки Flutter url_launcher не работает в почтовой программе iOS
Я пытаюсь использовать пакет Flutter url_launcher для создания шаблона формы обратной связи. До сих пор это работало хорошо, но я недавно сделал крупное обновление управления версиями пакетов, и теперь кажется, что что-то не так с переводом заполнителей.
final Uri _emailLaunchUri = Uri(
scheme: 'mailto',
path: recipient,
queryParameters: {
'subject': subject,
'body': body,
},
);
var newurl = _emailLaunchUri.toString();
return newurl;
Вверху находится мой фрагмент кода для генерации uri и, в конечном итоге, возврата нового URL-адреса запуска, включая некоторую информацию об устройстве. Распечатка приводит к следующему выводу в консоли:
mailto:support@support.de?subject=Feedback%3A+App+Name%28Subtitle%29&body=Dear+developers%2C%0D%0A%0D%0AiOS+version%3A+14.6%0D%0Amodel%3A+iPhone11%2C8%0D%0A
Думаю, пока все хорошо, но вот как это выглядит в моем приложении (проверено на физическом iPhone):
Что я пропустил или что Apple могла изменить в последних версиях iOS? Мой iPhone использует версию 14.6. Я придумал заменить "+" на
%20
вместо этого (похоже, это ошибка пакета), но я не уверен, как правильно преобразовать разрывы строк.
Буду признателен за любую помощь.
1 ответ
На Android тоже не будет работать, но вы можете исправить это, пройдя.
enableJavaScript
как правда.
await launch(
url,
enableJavaScript: true,
);
} else {
throw 'Could not launch $url';
}