Я использую MonoDroid и хотел бы сделать код C # доступным для вызова из моего WebView.
Я делаю это (C #):
protected override void OnCreate(Bundle bundle)
{
[...]
LinearLayout layout = FindViewById<LinearLayout>(Resource.Id.MyLayout);
var webView = new WebView(this);
webView.SetWebChromeClient(new WebChromeClient());
webView.Settings.JavaScriptEnabled = true;
webView.AddJavascriptInterface(new JSAccesibleObject(), "cSharpObject");
webView.LoadUrl("file:///android_asset/test.html");
layout.AddView(webView);
}
public class JSAccesibleObject : Java.Lang.Object
{
public void method1()
{
}
}
В Javascript cSharpObject определен, но у него нет свойств.
alert(cSharpObject); //mynamespace.Activity1_JSAccesibleObjec@f4438fe8
for (var prop in cSharpObject)
alert(prop); //this never gets called
alert(cSharpObject.method1) //undefined
alert(cSharpObject.method1()) //fails
Я что-то не так делаю, или это просто не работает в MonoDroid?