2012-07-14 111 views
4

Webview不加载离线缓存数据

我有一个Webview的问题,它不会使用缓存。 我启动我的应用程序,加载HTML5页面,然后退出页面,在手机上输入飞行模式,然后尝试再次访问网页。它应该被缓存,但我收到一条消息说URL无法检索。

这是我的代码与此有关。难道我做错了什么???

String weblink = "http://abcd.com"; 
final ConnectivityManager conMgr = (ConnectivityManager) 
getSystemService(Context.CONNECTIVITY_SERVICE); 

final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo(); 

if (activeNetwork != null && activeNetwork.isConnected()) { 
    progressBar = ProgressDialog.show(this, "Please Wait", "loading online.."); 
    mWebview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
    mWebview.getSettings().setAppCacheMaxSize(1024*1024*8); 
    mWebview.loadUrl(weblink); 
    setContentView(mWebview); 
} 
else 
{ 
    progressBar = ProgressDialog.show(this, "Please Wait", "loading offline.."); 
    mWebview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY); 

    mWebview.loadUrl(weblink); 
    setContentView(mWebview); 
} 
+0

嗨,你是否设法解决这个问题?我有完全一样的问题。如果您有解决方案,您可以分享解决方案吗?谢谢马特。这里是我的重复问题http://stackoverflow.com/questions/14549638/webview-not-displaying-website-when-offline – turtleboy 2013-01-28 14:25:09

回答

1

您的代码就可以了。

无论是网站不存在或者没有得到正确缓存,或者你忘了添加以下权限:

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

我已经做了相同的清单文件? – 2012-07-14 11:16:39

+0

这次真的很无奈:) – 2012-07-14 11:16:58

+0

你是否为你的webview启用缓存? http://alex.tapmania.org/2010/11/html5-cache-android-webview.html – Zakaria 2012-07-14 11:18:17

0
Just Remove 

的setContentView(mWebview);

in 
if and else both parts