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();
    }

大功告成,完美。


自己可以參考 無線城市迷你版 項目代碼。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM