1. 程式人生 > >Android問題之webView第一次開啟載入資料失敗,第二次進入白屏問題

Android問題之webView第一次開啟載入資料失敗,第二次進入白屏問題

這個問題困擾了我好久

 WebSettings settings = webview.getSettings();
        webview.setVerticalScrollbarOverlay(true);
        webview.clearCache(true);
        webview.clearHistory();
        settings.setJavaScriptEnabled(true);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW); }
        settings.setUserAgentString("User-Agent:Android");
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE); // 不載入快取
        settings.setDomStorageEnabled(true);//設定適應HTML5的一些方法
        settings.setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath());
        settings.setAllowFileAccess(true);
        settings.setAppCacheEnabled(true);
        settings.setRenderPriority(WebSettings.RenderPriority.HIGH);
        webview.addJavascriptInterface(new Js(),"openDoc");
        webview.setWebViewClient(new WebViewClient(){
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                    handler.proceed();
            }

        });
        webview.setWebChromeClient(new WebChromeClient());

這樣搞的,但是第二次進入直接白屏,然後ANR

1.問題,可能是連結資料的時候載入太慢了,因為要用到VPN,所以搞成了一個死迴圈。

2.可能這不是問題,加載出來就不會出現這個問題

3.最後我是這個搞的

@Override
    public void onBackPressed() {
        System.exit(0);
        DeleteDir.deleteDir();
        super.onBackPressed();
    }

綜上所述,還是有些困惑,又遇見這個問題的希望能夠給我解答一下。

相關推薦

Android問題webView第一開啟載入資料失敗第二進入問題

這個問題困擾了我好久 WebSettings settings = webview.getSettings(); webview.setVerticalScrollbarOverla

SSH專案只能第一插入資料成功第二報錯的問題

今天在做SSH整合實現後臺釋出系統時發現一個問題: 啟動專案後,正常插入資料,插入成功,但是第二次插入時候報錯(沒有重新啟動專案,只是重新整理網頁),報錯詳情如下: 檢查後發現在action中沒有加入@Scope("prototype") @Scope("prototyp

C3P0資料來源連結池bug,mysql閒置一段時間後第一連結失敗第二連結成功的問題

mysql8個小時後,第一次連結失敗,第二次連結成功的問題mysql資料庫的預設連線時長為8個小時1.互動式連線:使用mysql客戶端進行資料庫連結   interactive_timeout2.非互動

Android Dialog 疊加或者 Dialog上彈出 PopWindow 第二個Dialog 全方法

在 第一個Dialog 裡重寫 show方法public void show() { super.show(); /** * dialog上彈出popWindow的時候 * 設定寬度全屏,要設定在show的後面 */ Window

AndroidViewPager實現引導頁(第一開啟App進入引導頁第二直接進入APP主頁面)...

有的App當你第一次開啟的是和常常會有引導頁來描述一些App資訊(功能,特點),當然也要做驗證,驗證第二次進入不進入引導頁,直接進入App,此部落格藉助ViewPager來實現引導頁, ViewPager類提供了多介面切換的新效果,是谷歌在3.0之後加入的新特性,所以需要引用

AndroidWebView 防止呼叫系統瀏覽器開啟頁面

android在WebView中載入url,防止呼叫系統瀏覽器載入 只要重寫webView的WebViewClient 具體程式碼如下: web_adSentence.setWebViewClient(new WebViewClient() { //覆蓋

關於AndroidWebView載入網頁快取和清除問題

無獨有偶,Android開發中也需要一個網頁快取機制,自然網路上成熟的案例舉不勝舉,比如: 一、設定快取: private static final String APP_CACAHE_DIRNA

AndroidWebView的使用樣例——WebSetting、WebViewClient、WebChromeClient

create per wid spa var ani 事件 col kuaidi100 點擊查看原文 代碼直接下載http://download.csdn.net/detail/metis100/8514837 第一步,xml Manifest中要設

AndroidWebView優化

前言 隨著app的迭代,嵌入的html5介面越來越多了,Webview這個強大元件引起的問題越發的多起來,例如: 1、WebView導致的oom問題 2、Android版本不同,採用了不同的核心,相容性crash 3、不同版本實現不同,甚至URI不規範也會引起不同程度的問題

AndroidwebView與js互動

一、java呼叫js操作: 1.佈局檔案: <WebView android:id="@+id/web" android:layout_width="match_parent" android:layout_height="mat

Android中RxJava使用4----請求兩第二請求的引數是第一請求的結果

思路: 1請求資料,根據使用者名稱和密碼,獲取User_id 2再請求資料,根據User_id,獲取使用者資訊 具體實現程式碼: 2.1、在build.gradle中新增依賴 compile 'com.jakewharton.rxbinding:rxbindin

layui彈出層第一開啟不居中第二才居中

最近在做一個幫助文件,想做一個點選圖片放大的功能,於是使用layui的彈出層,程式碼如下 /* 開啟彈出層 */ function openLayer(imgUrl) { var imgUrl = imgUrl; layui.use('layer', fu

Android應用安裝完成後開啟應用出現初始化兩解決方案

 啟動介面加上 if (!isTaskRoot()) { finish(); return; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(

android折線圖ichartjs的動態載入資料

之間給大家分享過一個html寫的折線圖,再將折線圖利用webview放在手機中,原來的那個折線圖中的x軸座標在html中已經被寫死,這樣就帶來了操作的不變,程式碼的靈活性也隨之降低。比如,我需要檢視今天的溫度,可是現在是晚上7點,今天還沒有過完,那麼問題來了,怎

無限滾動載入第一請求完成後才發第二請求)

var time1; var srcollOld = 0,srcollNow = 0,scrollFun = false; $(window).scroll(function () { //$(w

AndroidListView分頁獲取網路資料(伺服器端)(一)

資料庫分頁: mysql:select pname from product limit 0,2;第一個引數是指要開始的地方,第二個引數是指每頁顯示多少條資料;注意:第一頁用0表示。 oracle:rownumber SqlServer:top 一、伺服器端 ①新建包com

AndroidWebView與URLConnection

demo java程式碼: public class MainActivity extends Activity implements View.OnClickListener { private TextView mTextViewDetail

Android三種網路請求解析資料

一:AsyncTask解析資料 AsyncTask主要用來更新UI執行緒,比較耗時的操作可以在AsyncTask中使用。 AsyncTask是個抽象類,使用時需要繼承這個類,然後呼叫execute()方法。注意繼承時需要設定三個泛型Params,P

ExtJS6 treegrid 一載入資料點選展開仍然會從伺服器取資料

Ext.create("Ext.tree.Panel", { flex: 1, store: { type: 'tree', fi

MUI 二上拉載入資料再進行下拉下拉失效

在進行上拉過程中,當ajax返回後,我們會呼叫endPullupToRefresh()的方法,結束“正在載入......”的過程,當返回結果有資料,則傳false,提示"上拉顯示更多"的提示,當返回結果為空,沒有資料時,傳入true來結束,不再顯示“上拉顯示更多”的提示,而是