Loading Cache when Offline in Android Webview
In addition to the permissions
.INTERNET
.ACCESS_NETWORK_STATE
.ACCESS_WIFI_STATE
mentioned in another answer, I also needed the following changes to the code:
if(cm != null && cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected()){ webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);}else{ webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);}
Otherwise the app would crash when trying to get the network info on first startup, if I were not connected to either WiFi or Mobile Network.