【问题标题】:Webview not loading offline cached dataWebview 不加载离线缓存数据
【发布时间】:2012-07-14 10:57:46
【问题描述】:

我在使用 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);
}

【问题讨论】:

  • 您好,您解决了这个问题吗?我有完全一样的问题。如果您有解决方案,您能否分享一下。谢谢马特。这是我的重复问题stackoverflow.com/questions/14549638/…

标签: android offline


【解决方案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"/>

【讨论】:

  • 你为你的 webview 启用缓存了吗? alex.tapmania.org/2010/11/html5-cache-android-webview.html
  • 网站也运行正常,我看到在模拟器的应用程序设置中缓存了 2.5 mb 数据,但未在 webview 中加载?请帮帮我!!
  • 是的 mWebview = new WebView(this); mWebview.getSettings().setJavaScriptEnabled(true); mWebview.getSettings().setDomStorageEnabled(true); mWebview.getSettings().setAppCachePath("/data/data/com.tmi.app/cache"); mWebview.getSettings().setAllowFileAccess(true); mWebview.getSettings().setAppCacheEnabled(true); mWebview.getSettings().setLoadsImagesAutomatically(true);
  • 可以重新启动整个过程吗?从模拟器中删除应用程序及其缓存,再次在线运行,然后切换到飞行模式。对我来说,你所做的一切都是正确的。
  • 好吧,让我试试!!感谢您的快速回复:)
【解决方案2】:
Just Remove 

setContentView(mWebview);

in 
if and else both parts

【讨论】:

    猜你喜欢
    • 2011-04-16
    • 2015-12-15
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    相关资源
    最近更新 更多