1

我想访问Debug 类中的一些静态方法;android.os 包的一部分。

但是,当我包含对这些函数的调用时,javascript 会给我一个未定义的 ReferenceError;它找不到android包。

如何在 javascript 中设置 java 包的搜索路径?

4

1 回答 1

0

您可以通过在您的活动中创建一个 javaScriptInterface 对象并在您的 webview 上设置它来完成此操作。查看 webview 方法 addJavascriptInterface()。基本思想是您的 JSInterface 对象将具有访问 Debug 类并返回您感兴趣的值的逻辑。

下面是一个直接取自 SDK 参考文档的基本示例:

class JsObject {
    @JavascriptInterface
    public String toString() { return "injectedObject"; }
}

webView.addJavascriptInterface(new JsObject(), "injectedObject");
webView.loadData("", "text/html", null);
webView.loadUrl("javascript:alert(injectedObject.toString())");
于 2013-01-31T20:38:08.580 回答