1

我想在線顯示網站。當它處於離線模式時,它應該顯示緩存的網站。我創建了它,但當它在線時它正在工作。但是當它處於離線狀態時,它會導致強制關閉。我不知道我在哪裏犯錯。請幫助我。WebView強制關閉 - 脫機時不工作

編碼如下:

w=(WebView)findViewById(R.id.webView1); 
    enableHTML5AppCache(); 
} 

private void enableHTML5AppCache() {  
     w.getSettings().setAppCacheMaxSize(1024*1024*8); 
     w.getSettings().setAppCachePath("/data/data/"+ getPackageName() +"/cache"); 
     w.getSettings().setAllowFileAccess(true); 
     w.getSettings().setAppCacheEnabled(true); 
     w.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
     cm = (ConnectivityManager)this.getSystemService(Activity.CONNECTIVITY_SERVICE); 

     if(cm.getActiveNetworkInfo().isConnected()) 
     { 
       w.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
      w.setInitialScale(1); 
       w.loadUrl("http://www.google.com/"); 
     } 
     else 
     { 
       w.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
       w.loadUrl("http://www.google.com/"); 
     } 
} 

而且清單文件,我已經使用權限也將在沒有可用的網絡

需要

<uses-permission android:name="android.permission.INTERNET"/> 

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
+0

你的logcat說什麼? – Snicolas

+0

logcat顯示「no such table:Deleted CacheResources」 – Shadow

回答

0

cm.getActiveNetworkInfo()可以等於空檢查這樣的網絡

if(cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected()) 

看到這個Link