Решение состоит в том, чтобы переопределить метод OnReceivedSslError в классе JavaScript WebClient, например:
public class JavascriptWebViewClient : WebViewClient
{
string _javascript;
public JavascriptWebViewClient(string javascript)
{
_javascript = javascript;
}
public override void OnReceivedSslError(Android.Webkit.WebView view, SslErrorHandler handler, Android.Net.Http.SslError error)
{
//base.OnReceivedSslError(view, handler, error);
handler.Proceed();
}
public override void OnPageFinished(Android.Webkit.WebView view, string url)
{
base.OnPageFinished(view, url);
view.EvaluateJavascript(_javascript, null);
}
}
Проблема заключается в том, что при добавлении OnReceivedSllError у меня есть две ошибки MAX_PATH ... Не знаю почему, но перестройка или очистка решения не сработали.
Я несколько раз чистил раствор, переместился ближе всего к папке root. Очистить и перестроить без запуска, затем запуск работает для меня, но остановка точки останова для этого метода не выполняется.
Это действительно очень странное поведение в Xamarin.Forms 4.5.0.396, но после обновления до Xamarin.Forms 4.5.0.495 работает и останавливается на точке останова