javascript - Monodroid JavaScript 接口(interface)

标签 javascript android xamarin.android

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");

最佳答案

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

关于javascript - Monodroid JavaScript 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7780677/

相关文章:

xamarin.forms - Xamarin 表单检查键盘是否打开

Android 模拟器不适用于 Android 的 Mono

javascript - jquery中如何给元素设置id?

java - Eclipse ADT 插件 - 图形布局闪烁并耗尽内存

android - android URLConnection 中的 java.io.FileNotFoundException

Android:通过短信或谷歌账户获取用户电话号码

c# - Xamarin Android 迁移到 AndroidX 后找不到类 "androidx.lifecycle.ProcessLifecycleOwnerInitializer"

javascript - 在子模块中使用构造函数时出现意外的 "double"命名空间

javascript - 有没有办法在 main.js 中访问 vue js Vue Session

javascript - 通知不可点击一次 "read": error "notification_id is not defined"