I am adding a webview with javascript enabled and also with the javascript interface in my Xamarin.android project. But the moment I try to call the native C# method from javascript I am getting Uncaught TypeError: Cannot read property 'showMessage' of undefined.
Code to enable javascript interface
Control.Settings.AllowFileAccess = true;
Control.Settings.LoadWithOverviewMode = true;
Control.Settings.AllowUniversalAccessFromFileURLs = true;
Control.Settings.JavaScriptEnabled = true;
Control.Settings.DatabaseEnabled = true;
Control.Settings.DomStorageEnabled = true;
Control.AddJavascriptInterface(new JavaScriptInterface(this), "TextSelection") ;
JavaScript interface code
[Export]
[JavascriptInterface]
public void showMessage(string message)
{
Console.WriteLine("Javascript_callback--> message " + message);
}
Code to call the C# method from javascript
var text = window.getSelection().toString();
TextSelection.showMessage(text);
I'm not sure where the error is coming from.
Note: I tried this code instead, but the error still occurred.
[JavascriptInterface]
[Export("showMessage")]
public void showMessage(string message)
{
Console.WriteLine("Javascript_callback--> message " + message);
}