public override bool OnJsAlert(Android.Webkit.WebView view, string url, string message, JsResult result) { if (message != "PdfViewer_app_scheme:print") { return(base.OnJsAlert(view, url, message, result)); } using (var printManager = Forms.Context.GetSystemService(Android.Content.Context.PrintService) as PrintManager) { printManager?.Print(FileName, new FilePrintDocumentAdapter(FileName, Uri), null); } return(true); }
public override void OnPageFinished(Android.Webkit.WebView view, string url) { base.OnPageFinished(view, url); var cookieManager = CookieManager.Instance; cookieManager.SetAcceptThirdPartyCookies(view, true); _webViewWithArgs.OnNavigated(new WebViewNavigatedEventArgs { Url = url }); }
public override void OnPageStarted(Android.Webkit.WebView view, string url, Bitmap favicon) { base.OnPageStarted(view, url, favicon); var cookieManager = CookieManager.Instance; cookieManager.SetAcceptThirdPartyCookies(view, true); _webViewWithArgs.OnNavigating(new WebViewNavigationEventArgs { Url = url }); }
public override void OnReceivedSslError(Android.Webkit.WebView view, Android.Webkit.SslErrorHandler handler, Android.Net.Http.SslError error) { if (_renderer.Element.ShouldTrustUnknownCertificate != null) { var certificate = new CustomCertificateDroid(error.Url, error.Certificate); var result = _renderer.Element.ShouldTrustUnknownCertificate(certificate); if (result) { handler.Proceed(); } else { handler.Cancel(); } } base.OnReceivedSslError(view, handler, error); }
public override void OnPageFinished(Android.Webkit.WebView view, string url) { var cookieHeader = CookieManager.Instance.GetCookie(url); var cookies = new CookieCollection(); var cookiePairs = ParseCookiesFromHeader(cookieHeader); //cookieHeader.Split('&'); foreach (var cookiePair in cookiePairs) { cookies.Add(new Cookie { Name = cookiePair.Key, Value = cookiePair.Value }); } _cookieWebView.OnNavigated(new CookieNavigatedEventArgs { Cookies = cookies, Url = url }); }
public override void OnProgressChanged(Android.Webkit.WebView view, int newProgress) { if (newProgress >= 100) { _webView.WebViewIsBusy = false; string _url = view.Url; if (_url.Contains("maps/place") || _url.Contains("mailto:") || _url.Contains("tel:") || _url.Contains("whatsapp") || _url.Contains("facebook.com") || _url.Contains("www")) { Device.OpenUri(new Uri(_url)); view.LoadUrl(OldUrl); } else { OldUrl = _url; } } else { _webView.WebViewIsBusy = true; } }
public JavaScriptHandler(Android.Webkit.WebView webView) { this.webView = webView; }
public override bool ShouldOverrideUrlLoading(Android.Webkit.WebView view, string url) { _renderer.Element.SendNavigating(new WebNavigatingEventArgs(WebNavigationEvent.NewPage, _renderer._lastSource, url)); return(base.ShouldOverrideUrlLoading(view, url)); }