WebView 笔记

来源:互联网 发布:林业优化投资率 编辑:程序博客网 时间:2024/04/26 06:29
@Overridepublic void onBackPressed() {    if (webview.canGoBack()) {        webview.goBack();   // 后退   webView 的后退按钮        webview.setWebChromeClient(new WebChromeClient() {  //   获取 html5的链接的回调            @Override            public void onReceivedTitle(WebView view, String title) {                super.onReceivedTitle(view, title);                mTitle.setText(title);                LogUtils.i("onReceivedTitle:==================================== " + title);            }        });    } else {        super.onBackPressed();    }}
public class WebViewUtils {    /**     * 封装一个webview     *     * @param url       网页地址     * @param color     页面背景     * @param zoom      是否设置网页支持缩放?     * @param builtZoom 是否启用内置缩放?     * @param jsEnable  是否启用js脚本     */    public static void openWebView(final WebView webView, final Activity mAct, String url, int color, boolean zoom, boolean            builtZoom, boolean jsEnable) {        webView.setBackgroundColor(mAct.getResources().getColor(color));        webView.loadUrl(url);        webView.setWebChromeClient(new WebChromeClient());// 允许webview内弹窗        WebSettings settings = webView.getSettings();        settings.setUseWideViewPort(true);// 将图片调整到适合webview的大小        settings.setLoadWithOverviewMode(true);// 缩放至屏幕的大小        settings.setSupportZoom(zoom);          // 支持缩放        settings.setBuiltInZoomControls(builtZoom);  // 启用内置缩放装置        settings.setJavaScriptEnabled(jsEnable);    // 启用JS脚本        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);// 不使用缓存//        settings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);// 优先使用缓存        LogUtils.i("openWebView: " + url);        webView.setWebViewClient(                new WebViewClient() {                    //当点击链接时,希望覆盖而不是打开新窗口                    @Override                    public boolean shouldOverrideUrlLoading(WebView view, String url) {                        if ("https://wap.gain-bao.com/APH5/suggestion_feedback".equals(url)) {                            mAct.startActivity(new Intent(mAct, FeedbackActivity.class));                        } else if ("tel:86079602".equals(url)) {                            DialogHelp.showTwoDialog(mAct, DialogHelp.SHOW_NAME_PHONE).show();                        } else if ("https://wap.gain-bao.com/APH5/86079602".equals(url)) {                            DialogHelp.showTwoDialog(mAct, DialogHelp.SHOW_NAME_PHONE).show();                        } else {                            view.loadUrl(url);// 在当前页面加载                        }                        LogUtils.i("点击事件:==================== " + url);                        return true;    //返回true,代表事件已处理,事件流到此终止                    }                    @Override                    public void onPageFinished(WebView view, String url) {                        super.onPageFinished(view, url);                    }                    @Override                    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {                        super.onReceivedError(view, request, error);                    }                });