android 与H5交互之基本

最基本的webView加载页面

webView.loadUrl(url);
这里面的url是String类型,可以加载本地的html页面, 如url =“file:///android_asset/index.html”;

加载网页,如url =“www.baidu.com”.

这样的加载是调起手机中默认的浏览器上打开,如果要在APP内中打开:

       webView.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }

android 调用HTML页面中的javaScript方法:

WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);//设置支持JavaScript脚本

利用WebViewClicent接口,借助shouldOverrideUrlLoading回调方法拦截url,然后解析url的协议,
如果协议是之前预定好的那么就开始分析url格式得到具体参数,而其中的getShareData是js中的方法.

mWebView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);
    }

    public void onPageFinished(WebView view, String url) {
        mWebView.loadUrl("javascript:getShareData()");
        super.onPageFinished(view, url);
    }
});


javaScript调用android 本地的java方法

js内有个方法叫“jsObj”; getHtmlObject()这个方法返回一个Object对象,里面的HtmlcallJava()被js的“jsObj”这个方法调用,来完成交互

        mWebView.addJavascriptInterface(getHtmlObject(), "jsObj");
	
	private Object getHtmlObject(){
  	 Object insertObj = new Object(){
        //html调用android
        @JavascriptInterface
        public void HtmlcallJava(){
           //这里填写js想调用android本地的方法
       	 }
   	};

  	 return insertObj;
      }



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值