我正在尝试在HTML5中使用Android PhoneGap应用程序中的应用程序缓存,但这不起作用,它对ApplicationCahce Events没有感觉.
function logEvent(event) { console.log(event.type); } window.applicationCache.addEventListener('checking',logEvent,false); window.applicationCache.addEventListener('noupdate',false); window.applicationCache.addEventListener('downloading',false); window.applicationCache.addEventListener('progress',false); window.applicationCache.addEventListener('cached',false); window.applicationCache.addEventListener('updateready',false); window.applicationCache.addEventListener('obsolete',false); window.applicationCache.addEventListener('error',false);
此外,此代码在iOS PhoneGap和Android Browser中运行,此链接用于支持的平台.
Application Cahce Supported platforms
所以,任何建议都会有所帮助.
解决方法
我相信WebView中默认情况下不启用应用程序缓存.您需要做的是在扩展DroidGap调用的Java类中:
this.appView.getSettings().setAppCacheEnabled(true);
在你的onCreate()方法中.
您可能还需要致电:
this.appView.getSettings().setAppCacheMaxSize(sizeInBytes); this.appView.getSettings().setAppCachePath(pathToCacheDir);
请注意,在调用setAppCachePath()之前,缓存目录必须存在.
阅读……
http://developer.android.com/reference/android/webkit/WebSettings.html#setAppCacheEnabled(boolean)
http://developer.android.com/reference/android/webkit/WebSettings.html#setAppCacheMaxSize(long)
http://developer.android.com/reference/android/webkit/WebSettings.html#setAppCachePath(java.lang.String)