我想在线显示网站。当它处于离线模式时,它应该显示缓存的网站。我创建,但是当它在线时它正在工作。但是当它处于离线状态时,它会导致强制关闭。我不知道我在哪里犯错。请帮助我。< / p>
编码如下:
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 :(得分:0)
cm.getActiveNetworkInfo()
可以等于null
你需要像这样检查网络
if(cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected())
请参阅此Link