如果我关闭 wifi,则无法让离子应用程序工作(在开发时)

Can't get ionic app to work (while developing) if I turn off wifi

因此,在开发过程中我关闭了 wifi,然后 ionic 应用程序在 android device/emulator 中无法运行。

但是当我使用 android 应用程序发布并签名的 apk 文件关闭 wifi 时,它工作正常。

问题是我需要我的应用程序在互联网连接关闭时做一些事情:

   if(window.Connection) {
        if(navigator.connection.type == Connection.NONE) {
            //doSomething();
        }
      }

但是由于应用程序不会 运行 在模拟器或设备上,如果我关闭 wifi,我无法测试代码是否工作而不必构建一个非常耗时的发布 apk。即使我关闭了 wifi,我怎样才能让它工作?

我收到这样的错误消息:

刚刚解决了这个问题。我试图 运行 使用 ionic run android -l -c 的应用程序所以现在我 运行 使用 ionic run android 并且当然不需要 livereload -l 现在应用程序工作就好了

当您 运行 使用 ionic run android -l -c 应用程序时,所有数据和资源都将从您的计算机通过网络提供。事实上,在那种情况下,它在移动设备上的工作方式与您在计算机浏览器上使用 ionic serve 运行 的方式相同。因此,当您关闭移动互联网时,它无法从计算机提供服务,因为网络是服务页面的渠道。但是 ionic run android 将移动设备中的所有应用程序源和资源都从 file:///android_asset/www/ 提供。

离子的真正用途 运行 -l -c : l 代表 liverload,它会在源发生变化时不断刷新您的移动应用程序。 c 代表控制台,应用程序控制台日志显示在您启动应用程序的命令行中。它可以帮助离子开发人员进行测试,因为他们不必一次又一次地安装应用程序。但请记住让您的 phone 连接到计算机,并且两者都应该在同一个互联网网络上。

注意: 有时 cordova plugins 像相机等在这种环境下表现得很奇怪。因此,在检查插件相关功能时最好不要使用 -l -c