当前位置: 首页 > 知识库问答 >
问题:

脱机打开Phonegap/Cordova应用程序

单于俊智
2023-03-14

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

但是,我想优雅地处理离线时第一次启动它的人,即远程页面尚未被缓存时。目前它给出了一个未找到的页面。

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

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

共有1个答案

鞠侯林
2023-03-14

找到了答案-我将其添加到扩展DroidGap的主要活动中

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

在本例中,我包含了一个脱机。html文件以显示脱机消息,并带有重试按钮,尝试重定向到远程索引页。如果webview在加载远程页面时遇到问题,它将正常地返回到本地脱机。html页面,直到它可以缓存远程文件。

没有讨厌的404页,不错!

 类似资料:
  • 使用Cordova/PhoneGap 3.3.0,我使用FileTransfer插件下载一个文件,然后尝试使用InAppBrowser插件打开它。我可以成功下载该文件,并将其放置在临时目录中。由于文件插件现在使用URL模式,我无法确定如何将正确的URL/路径传递到<code>窗口。打开InAppBrowser插件的方法。我也找不到任何相关文件。我能找到的所有“下载并打开”文档都是过时的,并且是UR

  • 问题内容: 更新1: 这就是我最后所做的一切: 那不是必需的吗? 原始问题: 在我的Ubuntu 12.04计算机上,我刚刚使用npm和cordova安装了node.js: 当我尝试添加android时: 我得到以下输出: 有人知道为什么会发生这种情况以及如何解决吗? 我在PhoneGap上遇到了同样的问题。 问题答案: Android工具二进制文件可能不在您的路径中。 根据PhoneGap文档(

  • 我有一个Sencha应用程序,用于创建iOS和Android应用程序。我试过cordova,但不太明白为什么人们喜欢phonegap而不是cordova。需要启蒙

  • 混合移动应用程序:PhoneGap和Cordova的区别: 我知道PhoneGap提供PhoneBuild服务来为您构建应用程序,它使用的是cordova的一个版本,但人们发现使用PhoneGap比cordova还有其他好处吗?

  • 是否可以从网页链接顶部打开Phonegap IOS应用程序,然后触发应用程序内的功能? 我知道可以从网页上打开本机应用程序,但我很难找到任何信息/插件,这些信息/插件将为我使用HTML5 Phonegap应用程序指明正确的方向。 干杯

  • 我创建了一个基于Phonegap/Cordova的Android应用程序,它使用cookie,例如用于会话身份验证/自动登录。在安全审查期间,提出了这样的担忧,即如果攻击者可以控制手机,他可以读出cookie并劫持用户的会话。 有没有办法以编程方式加密设备的存储或阻止使用Android OS 4.0及更高版本访问cookie?我更喜欢(但不是坚持)一个易于与Phonegap/Cordova集成的解