Webview无法加载脱机缓存数据

时间:2012-07-14 10:57:46

标签: android offline

我遇到了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);
}

2 个答案:

答案 0 :(得分: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"/>

答案 1 :(得分:0)

Just Remove 
  

的setContentView(mWebview);

in 
if and else both parts