您的位置:首页 > 移动开发

webview加载网页加载不出来

2013-09-04 11:17 225 查看
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();

    }

大功告成,完美。

自己可以参考 无线城市迷你版 项目代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: