Android可以从webview页面获取信息吗?

时间:2013-02-04 00:08:25

标签: android webview

根据webview中的打开页面,应用程序是否有任何方式执行某项功能?例如,在其中检测一些javascript?

1 个答案:

答案 0 :(得分:1)

这部分Android文档可能会有所帮助:http://developer.android.com/guide/webapps/webview.html#UsingJavaScript

您可以使用loadUrl()在WebView上调用javascript。例如:

webView.loadUrl("javascript: someJavascriptMethod(true, 1, 8, 'some string');");

该页面还可以使用Javascript接口将数据传递回Java代码。使用公共方法创建公共类。然后,创建该类的实例并使用webView.addJavascriptInterface()

进行安装

例如

 public class JsObject {
    @JavascriptInterface
    public String toString(String value) { // This method can be called from Javascript }
 }
 webView.addJavascriptInterface(new JsObject(), "injectedObject");
 webView.loadData("", "text/html", null);
 webView.loadUrl("javascript:alert(injectedObject.aJavaMethod('some value'))");

如果您需要查看某个javascript方法是否可用,或者您是否需要从DOM中读取,则可以使用loadUrl调用一些可以为您进行查找的javascript。然后,您可以使用javascript接口通过某种响应来调用Java方法。