* [iOS] allow mailto: uri

same as #1311 but for mailto:

 - fixes #2628

* Add mailto test
This commit is contained in:
Stephane Delcroix 2018-05-11 09:01:47 +02:00 коммит произвёл GitHub
Родитель 305261dccc
Коммит 501e54cb53
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -18,7 +18,8 @@ namespace Xamarin.Forms.Controls.Issues
Content = new StackLayout Content = new StackLayout
{ {
Children = { Children = {
new Button { Text = "Call 123 4567", AutomationId = "tel", Command = new Command(() => Device.OpenUri(new System.Uri("tel:123 4567"))) } new Button { Text = "Call 123 4567", AutomationId = "tel", Command = new Command(() => Device.OpenUri(new System.Uri("tel:123 4567"))) },
new Button { Text = "Mail support@xamarin.com", AutomationId = "mailto", Command = new Command(() => Device.OpenUri(new System.Uri("mailto:support@xamarin.com"))) }
} }
}; };
} }

Просмотреть файл

@ -260,7 +260,7 @@ namespace Xamarin.Forms
{ {
NSUrl url; NSUrl url;
if (uri.Scheme == "tel") if (uri.Scheme == "tel" || uri.Scheme == "mailto")
url = new NSUrl(uri.AbsoluteUri); url = new NSUrl(uri.AbsoluteUri);
else else
url = NSUrl.FromString(uri.OriginalString) ?? new NSUrl(uri.Scheme, uri.Host, uri.PathAndQuery); url = NSUrl.FromString(uri.OriginalString) ?? new NSUrl(uri.Scheme, uri.Host, uri.PathAndQuery);