Монородный интерфейс JavaScript

Монодид еще не поддерживает JavaScript-интерфейс с WebView.

Я ищу пример .java-файла, который можно использовать с этим обходным путем.

IntPtr JavaScriptInterface_Class = JNIEnv.FindClass ("the/package/for/JavaScriptInterface"); IntPtr JavaScriptInterface_ctor = JNIEnv.GetMethodID (JavaScriptInterface_Class, "<init>", "()V"); IntPtr instance = JNIEnv.NewObject (JavaScriptInterface_Class, JavaScriptInterface_ctor); appView.AddJavascriptInterface (new Java.Lang.Object (instance), "Android"); 

Вы можете использовать пользовательский .java такой как:

 // TODO: use an actually valid package name. :-) package the.package.for; public class JavaScriptInterface { // The JNI in the original question uses a default constructor. // Either provide one explicitly or use the implicit one... public JavaScriptInterface () { } // TODO: add any methods you want invokable from JavaScript here. } 

Не забудьте установить действие Build для вашего .java файла на AndroidJavaSource .

Я знаю, что этот поток уже немного стар. Но я нашел это, когда искал то же самое, и вот решение, как вы можете использовать методы c #

 public class AndroidInterface : Java.Lang.Object { [Export] public void Save(string text) { } } AndroidInterface androidInterace = new AndroidInterface(); webView.AddJavascriptInterface(androidInterface, "Android"); 
Intereting Posts