从本地html文件调用java方法

时间:2011-11-29 11:55:18

标签: android android-webview

我的assets文件夹下有本地html文件。我在WebView加载此文件,我想从本地网页调用静态Java方法。

这就是我想要做的;

<div class="content">
<div class="welcome">
    <p>GeneralConstants.getWelcomeMessage()</p>
</div>

我想从我的本地网页调用getWelcomeMessage()方法。

4 个答案:

答案 0 :(得分:2)

您可以使用JAVA Script Interface进行Android功能与java脚本方法之间的通信。

WebView内运行的JavaScript可以调用您的Activity中的代码。您可以使用此操作来启动JavaScript触发器操作,例如启动新活动,或者可以使用它来从数据库或ContentProvider获取数据。此API非常简单:只需在addJavascriptInterface上调用WebView方法即可。您传递一个对象,该对象的方法要暴露给JavaScript,以及在进行调用时使用的名称。

在这里看一下Android - Webviewhere的一个很好的例子。

答案 1 :(得分:0)

通过WebView.addJavascriptInterface()可以实现JavaScript与您的应用程序之间的双向通信。检查此示例:

http://android-developers.blogspot.com/2008/09/using-webviews.html

答案 2 :(得分:0)

答案 3 :(得分:0)

你正在从错误的方向接近这个。您无法从HTML页面访问Java代码。

但是,您的HTML页面可以定义JavaScript接口,您的Java代码可以访问这些接口。因此,不是HTML页面从Java代码中获取欢迎消息,而是使用Java代码向HTML页面提供欢迎消息。

webView.loadUrl("javascript:setWelcomeMessage('Welcome!')");