单调 Android JavaScript 接口

4

Monodroid目前还不支持WebView的JavaScriptInterface。

我正在寻找一个可与此解决方案一起使用的示例.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");
2个回答

2
您可以使用自定义的.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.
}

不要忘记将您的.java文件的构建操作设置为AndroidJavaSource


1

我知道这个帖子已经有点老了。但是当我在寻找同样的东西时,我发现了它,并且这里有一个解决方案,告诉你如何使用C#方法。

public class AndroidInterface : Java.Lang.Object
{
        [Export]
        public void Save(string text)
        {

        }
}

AndroidInterface androidInterace = new AndroidInterface();
webView.AddJavascriptInterface(androidInterface, "Android");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接