Skip to content

Instantly share code, notes, and snippets.

@jaydeepw
Last active October 5, 2023 11:39
Show Gist options
  • Save jaydeepw/3594828 to your computer and use it in GitHub Desktop.
Save jaydeepw/3594828 to your computer and use it in GitHub Desktop.
Enabling HTML5 AppCache in Android Webview programatically.
private void enableHTML5AppCache() {
webView.getSettings().setDomStorageEnabled(true);
// Set cache size to 8 mb by default. should be more than enough
webView.getSettings().setAppCacheMaxSize(1024*1024*8);
// This next one is crazy. It's the DEFAULT location for your app's cache
// But it didn't work for me without this line
webView.getSettings().setAppCachePath("/data/data/"+ getPackageName() +"/cache");
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
}
@ArcherBG
Copy link

You have to check for internet connectivity before telling to load from cache

@fabsk7
Copy link

fabsk7 commented Aug 22, 2016

thanks!!! a lot!

@unclechen
Copy link

Did anybody found that the Application Cache path is not in the path which setted in setAppCachePath funciton("/data/data/"+ getPackageName() +"/cache"),but it was in data/data/packagename/app_webview/Application Cache on Kitkat?

@luck-apple
Copy link

it works, thanks

@yale8848
Copy link

yale8848 commented Nov 3, 2017

appcache method will deprecated, you can look at this lib https://github.com/yale8848/CacheWebView , hope help you

@ZealousMacwan
Copy link

Thanks, It solved my issue. I was trying to show angular component inside webview but It was not showing, after I get to know that Angular requires html5 support, adding this code help me to solve issue

@FlySquare
Copy link

thank you brooooooo. thats fucking awesome

@thiago619
Copy link

It's good, but some apps or android versions can change this path. Then, use "getFilesDir()", instead of "data/data".

webView.getSettings().setAppCachePath(getFilesDir() + getPackageName() +"/cache");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment