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);
 }
Exemple #2
0
        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
            });
        }
Exemple #3
0
        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);
            }
Exemple #5
0
        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
            });
        }
Exemple #6
0
            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;
                }
            }
Exemple #7
0
 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));
 }