从webview Android获取价值

时间:2014-11-26 14:08:34

标签: android webview

我的应用程序有一个webview调用网址,基本上所有的东西都将由网站完成,但在用户完成进程后,它将发送应用程序的信息,如成功或无效。 我想知道如何通过webview捕获此返回值。有没有办法做到这一点?

感谢。

1 个答案:

答案 0 :(得分:0)

您应该使用JavascriptInterface将您的一种Java方法暴露给您网站上的Javascript。

首先,创建一个类作为您的界面。您要向Javascript公开的任何方法都需要@JavascriptInterface注释:

class MyJavaScriptInterface{
    @JavascriptInterface
    public void myMethod(boolean success){
        //Do something with value
    }
}

然后在WebView上初始化界面:

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new MyJavaScriptInterface(), "JSInterface");

最后,创建Javascript函数以从您的网站调用Java方法:

<script>
  //Communicate with Javascript Interface
  var processComplete = function(success){
      //Only call if the interface exists
      if(window.JSInterface){
          window.JSInterface.myMethod(success);
      }
  };
</script>