public AndroidWebView(Zebble.WebView view) : base(UIRuntime.CurrentActivity) { try { View = view; Settings.JavaScriptEnabled = true; AddJavascriptInterface(JavascriptInterface = new JavaScriptResult(View), "JsInterface"); SetWebViewClient(Client = new AndroidWebViewClient { WebView = this }); View.SourceChanged.HandleActionOn(Thread.UI, Refresh); View.EvaluatedJavascript += s => Thread.UI.Run(() => EvaluateJavascript(s)); View.EvaluatedJavascriptFunction += (s, a) => Thread.UI.Run(() => { EvaluateJavascriptFunction(s, a); return(Task.FromResult("")); }); Refresh(); } catch (Exception ex) { Zebble.Alert.Show(ex.Message); } }
protected override void Dispose(bool disposing) { base.Dispose(disposing); Client?.Dispose(); Client = null; View = null; }
public JavaScriptResult(Zebble.WebView view) => View = view;