zoukankan      html  css  js  c++  java
  • webview加载网页加载不出来

    1、webView.loadUrl(picTargetUrl); 写在最前面.


    1、在无线城市迷你版的项目,用webview去loadUrl的时候出现加载的现象。

                           url 地址是 http://go.10086.cn/kuaixun.do


    2、因为webview加入的网络请求的加载框,所以得在加入网络加载框

     //设置webview的客户端
            webView.setWebViewClient(new WebViewClient()
            {
                @Override
                public void onPageStarted(WebView view, String url, Bitmap favicon)
                {
                    //                super.onPageStarted(view, url, favicon);
                    netDialog = DialogUtil.showNetProgressDialog(AdvartWebActivity.this);
                    super.onPageStarted(view, url, favicon);
                }
                
                @Override
                public void onPageFinished(WebView view, String url)
                {
                    if (null != netDialog)
                    {
                        //加载完成,dialog销毁
                        netDialog.dismiss();
                    }
                    super.onPageFinished(view, url);
                }
            });


    3、硬件加速

     try
            {
                //禁用硬件加速
                Method method = WebView.class.getMethod("setLayerType", int.class, Paint.class);
                method.setAccessible(true);
                method.invoke(webView, 1, null);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
            new Handler().postDelayed(new Runnable()
            {
                @Override
                public void run()
                {
                    webView.getSettings().setBlockNetworkImage(false);
                }
            }, 1000);


    4、在此之前加入了webview加载url的四个属性

            webView.getSettings().setBuiltInZoomControls(false);
            webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setRenderPriority(RenderPriority.HIGH);
            webView.getSettings().setBlockNetworkImage(true);


    5、死活也加载不出来。后来的网上查找资料,又加入了一堆属性:

            webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
            webView.getSettings().setAllowFileAccess(true);
            webView.getSettings().setAppCacheEnabled(true);
            webView.getSettings().setPluginsEnabled(true);
            webView.getSettings().setSaveFormData(false);
            webView.refreshPlugins(true);
            webView.getSettings().setLoadsImagesAutomatically(true);
            // http请求的时候,模拟为火狐的UA会造成实时公交那边的页面存在问题,所以模拟iPhone的ua来解决这个问题
            String user_agent =
                "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/125.1";
            webView.getSettings().setUserAgentString(user_agent);
            
            /* Enable zooming */
            webView.getSettings().setSupportZoom(false);


    6、出现时断时续的问题,有时候能加载出来,有时候加载不出来.

    7、后来将加载 移动到 这些代码的后面  webView.loadUrl(picTargetUrl)

    8、在返回键的事件加入  /**
         * 方法名称:onBackEvent
         * <p>方法描述:返回键事件
         * @author wangZhongfu
         * @param view
         * <p>备注:
         */
        public void onBackEvent(View view)
        {
            webView.destroy();
            finish();
        }

    大功告成,完美。


    自己可以参考 无线城市迷你版 项目代码。


  • 相关阅读:
    转:五年java人的一点感悟
    6:ZigZag Conversion
    5:Longest Palindromic Substring
    4:Median of Two Sorted Arrays
    3:Longest Substring Without Repeating Characters
    读写分离
    docker swarm部署spring cloud服务
    kubeadm方式安装kubernetes
    《Spring Boot 实战》随记
    https部署
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3301826.html
Copyright © 2011-2022 走看看