HTML5中的应用程序缓存在Android PhoneGap应用程序中不起作用

Ahm*_*saf 1 html5 android application-cache android-browser cordova

我正在尝试在HTML5中使用Android PhoneGap应用程序中的应用程序缓存,但这不起作用,它对ApplicationCahce Events没有感觉.

function logEvent(event) {
        console.log(event.type);
    }

    window.applicationCache.addEventListener('checking', logEvent, false);
    window.applicationCache.addEventListener('noupdate', logEvent, false);
    window.applicationCache.addEventListener('downloading', logEvent, false);
    window.applicationCache.addEventListener('progress', logEvent, false);
    window.applicationCache.addEventListener('cached', logEvent, false);
    window.applicationCache.addEventListener('updateready', logEvent, false);
    window.applicationCache.addEventListener('obsolete', logEvent, false);
    window.applicationCache.addEventListener('error', logEvent, false);
Run Code Online (Sandbox Code Playgroud)

此外,此代码在iOS PhoneGap和Android Browser中运行,此链接用于支持的平台. 应用程序Cahce支持的平台

所以,任何建议都会有所帮助.

Sim*_*ald 6

我相信WebView中默认情况下不启用应用程序缓存.你需要做的是在扩展DroidGap调用的Java类中:

this.appView.getSettings().setAppCacheEnabled(true);
Run Code Online (Sandbox Code Playgroud)

在你的onCreate()方法中.

您可能还需要致电:

this.appView.getSettings().setAppCacheMaxSize(sizeInBytes);
this.appView.getSettings().setAppCachePath(pathToCacheDir);
Run Code Online (Sandbox Code Playgroud)

请注意,在调用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)