Android应用中怎么利用WebView与Javascript进行交互

Android应用中怎么利用WebView与Javascript进行交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联是一家专业提供三穗企业网站建设,专注与成都网站设计、成都网站制作、H5场景定制、小程序制作等业务。10年已为三穗众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

Android中可以使用WebView加载网页,同时Android端的Java代码可以与网页上的JavaScript代码之间相互调用。

(一)Android部分:

布局代码:


  
    
    

Activity代码:

/**
 * Android WebView 与 Javascript 交互。
 */
public class MainActivity extends ActionBarActivity {
  private WebView webView;
  @SuppressLint({"SetJavaScriptEnabled", "AddJavascriptInterface"})
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    webView = (WebView) findViewById(R.id.webView);
    webView.setVerticalScrollbarOverlay(true);
    //设置WebView支持JavaScript
    webView.getSettings().setJavaScriptEnabled(true);
    String url = "http://192.168.1.27/js_17_android_webview.html";
    webView.loadUrl(url);
    //在js中调用本地java方法
    webView.addJavascriptInterface(new JsInterface(this), "AndroidWebView");
    //添加客户端支持
    webView.setWebChromeClient(new WebChromeClient());
  }
  private class JsInterface {
    private Context mContext;
    public JsInterface(Context context) {
      this.mContext = context;
    }
    //在js中调用window.AndroidWebView.showInfoFromJs(name),便会触发此方法。
    @JavascriptInterface
    public void showInfoFromJs(String name) {
      Toast.makeText(mContext, name, Toast.LENGTH_SHORT).show();
    }
  }
  //在java中调用js代码
  public void sendInfoToJs(View view) {
    String msg = ((EditText) findViewById(R.id.input_et)).getText().toString();
    //调用js中的函数:showInfoFromJava(msg)
    webView.loadUrl("javascript:showInfoFromJava('" + msg + "')");
  }
}

(二)网页代码:





Android WebView 与 Javascript 交互

 


 

测试Android WebView 与 Javascript 交互

   JS调用Java  

看完上述内容,你们掌握Android应用中怎么利用WebView与Javascript进行交互的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


当前名称:Android应用中怎么利用WebView与Javascript进行交互
链接地址:http://scyanting.com/article/joespd.html