在某些Android设备上的cordova app中没有互联网连接

时间:2018-05-20 19:34:15

标签: android cordova ionic-framework cordova-plugins

我有一个Ionic应用程序已在应用程序商店中存在超过一年。现在突然有多人报告该应用程序无效。他们无法通过加载屏幕,如果手机没有互联网连接,这是预期的。

我已在index.html和config.xml文件中设置了所有必要的设置:

的index.html

<meta http-equiv="Content-Security-Policy" content="default-src * data: gap: content: https://ssl.gstatic.com ; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' localhost:35729; media-src * content: cdvphotolibrary:; img-src * content: data: blob: cdvphotolibrary:">

config.xml中

<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />
<plugin name="cordova-plugin-whitelist" spec="^1.3.3" />

我最近没有对这些设置进行任何改动。

该应用使用https://sentry.io进行错误记录,但我也看不到发送给哨兵的任何错误,这意味着没有错误,或者该应用无法访问互联网。

这个问题只存在于Android上,我们还没有得到iOS用户的单一报告。 Android手机往往有点旧(Android 5和Android 6),我们有一个用户报告,在升级到最新版本后错误已解决。

现在唯一的选择就是推出一个改进了错误处理的新版本,以便能够查明问题,但这很难,因为我无法在我的测试设备上重现它,我也似乎无法获得任何来自设备的反馈。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

因此,错误与连接问题没有直接关系,而是因为应用程序无法将凭据存储到indexedDB,导致所有请求失败,因为它们未经身份验证。

此处描述了此问题,并且应在Chrome发布新版本后的几天内解决:Chrome on Android: Granted Quota for IndexedDB suddenly almost 0

哨兵HTTP请求失败,可能是因为类似的问题。这可以通过将allowSecretKey设置为true来解决。