美文网首页
总结webView的使用

总结webView的使用

作者: MissPSTime | 来源:发表于2019-03-01 11:29 被阅读0次

    1.webViewClient

    private WebViewClient webViewClient = new WebViewClient() {

        @Override

        public void onPageFinished(final WebView view, String url) {

            super.onPageFinished(view, url);

            //网页加载完毕做处理

           可以通过view.getTitle()获取title

        }

        @Override

        public void onPageStarted(WebView view, String url, Bitmap favicon) {

            L.e("web_view", "started: "+ url);

            super.onPageStarted(view, url, favicon);

        }

        //可以拦截到加载的url

        @Override

        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            L.e("web_view", "loading: "+ url);

            //在这里可以对url进行一些处理,替换字段,新增参数等

            if(url!=null&&url.contains("getCoupon?couponId")){

                Intent  intent=new Intent();

               startActivity(intent);

                return  true;//代表拦截此链接,执行了跳转界面的操作,webView不会加载此链接

            }

            return super.shouldOverrideUrlLoading(view, url);

        }

    };

    2.返回按钮的处理,如果网页有上一层,先返回上一层

    @Override

    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {

            mWebView.goBack(); //goBack()表示返回WebView的上一页面

            return true;

        }

        return super.onKeyDown(keyCode, event);

    }

    3.通过js进行交互(h5调用native)

    private void initView() {

        WebSettings webSettings = getSettings();

        webSettings.setJavaScriptEnabled(true);//设置支持js

        //设置js调用的接口

        this.addJavascriptInterface(new AbsClientCallback(), "android");

    }

    public class AbsClientCallback {

    //js调用native的回调

        @Keep

        @JavascriptInterface

        public String callBackNative(String type, String scheme) {

            return onCallBackNativeForH5(type, scheme);

        }

    }

    4.native通过js调用h5(约定好的函数)

    mWebView.loadUrl("javascript:righthandleparam('android')");

    5.对webView的设置setting全部设置上去就好,少设置的话可能会有一些不知名的问题

    相关文章

      网友评论

          本文标题:总结webView的使用

          本文链接:https://www.haomeiwen.com/subject/gyjcsqtx.html