1

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);
}
Praveen
  • 11
  • 3
  • I test your code in my demo, I could run it normally, please close VS, open your project folder, delete all of the `bin` and `obj` folders, then re-build your project, If this issue is still existed, If it is still existed, please upload a demo to github – Leon Nov 26 '19 at 06:45

0 Answers0