正式打开Phonegap / Cordova应用程序

时间:2013-10-15 22:16:39

标签: android cordova offline-caching

我有一个Android Phonegap / Cordova应用程序使用远程索引页面实现html5缓存,因此该应用程序可以脱机使用。一旦用户启动具有活动连接的应用程序以最初填充缓存,它就会很好用,它可以无缝工作,并且在离线时感觉非常原生。

但是我希望优雅地处理在离线时第一次启动它的人,即远程页面尚未缓存的时候。目前它没有找到一个页面。

我可以在重定向到远程页面之前检查是否存在网络连接,但这意味着即使远程index.html已经缓存并且可以脱机使用,它们也必须有连接才能启动它。

是否有一种避免找不到默认页面的好方法?理想情况下,我想显示一个对话框,说明用户需要数据连接才能首次打开应用程序以允许远程资产在本地缓存。

1 个答案:

答案 0 :(得分:1)

找到答案 - 我将此添加到扩展Droidgap的主要活动

 public void onReceivedError( int errorCode, String description, String failingUrl) {
        super.loadUrl("file:///android_asset/www/offline.html");
        return;
 }

在这种情况下,我包含了一个用于显示脱机消息的offline.html文件,并尝试重试按钮,该按钮尝试重定向到远程索引页面。如果webview在加载该远程页面时出现问题,它将优雅地回退到本地offline.html页面,直到它可以缓存远程文件。

没有讨厌的404页面,很好!