Здесь есть несколько проблем. Хотя возможно избавиться от части //
, вы потеряете строки запроса. Основная проблема заключается в том, что Uri.Builder не позволит вам использовать запросы с непрозрачными URI (непрозрачный URI - это абсолютный URI, специфичная для схемы часть которого не начинается с символа косой черты, например mailto:
URI).
Тем не менее, вы должны использовать uriBuilder.opaquePart()
вместо uriBuilder.authority()
, потому что последний неявно устанавливает ваш URI на иерархический , то есть не непрозрачный. Это избавит от //
, но вам не хватает части запроса, и вы не можете установить ее, потому что любой вызов uriBuilder.appendQueryParameter()
также подразумевает иерархический URI .
Короче говоря, для создания непрозрачного mailto:
URI, который включает запросы, вам придется использовать
Uri uri = Uri.parse("mailto:receipient@mail.com?subject=title&body=text");
вместо этого. Конечно, литерал title
и text
должен быть Uri.encode()
ed.