如果我关闭wifi

时间:2015-09-11 18:57:37

标签: cordova ionic-framework ionic cordova-plugin-file

因此,在开发过程中,我关闭了wifi,然后离子应用程序在Android设备/模拟器中无法正常工作。

但是,当我关闭wifi与发布和签署apk文件的Android应用程序工作正常。

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

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

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

我收到如下错误消息:

enter image description here

2 个答案:

答案 0 :(得分:4)

当您使用ionic run android -l -c运行应用程序时,所有数据和资源都是通过网络从您的计算机提供的。事实上,在这种情况下,它可以在移动设备上运行,就像您使用ionic serve在计算机浏览器上运行一样。因此,当您关闭移动互联网时,它无法通过计算机提供服务,因为网络是服务页面的渠道。但ionic run android打包了移动设备中的所有应用程序源,资源来自file:///android_asset/www/

离子运行的真实目的-l -c: l代表liverload,只要源代码发生变化,就会继续在移动设备上刷新应用程序。 c代表控制台,应用程序控制台日志显示在您启动应用程序的命令行中。它有助于离子开发人员进行测试,因为他们不必一次又一次地安装应用程序。但请记住将手机连接到计算机,两者都应该在同一个互联网上。

注意:有时cordova plugins像相机等在这个环境中表现得很奇怪。因此,在检查插件相关功能时,如果没有-l -c,请更好地使用。

答案 1 :(得分:0)

刚刚解决了这个问题。我试图使用<ul> <li><a class="badge1" id="popbadge1" href="#" role="button" data-trigger="focus" tabindex="0" data-placement="bottom">1</a></li> <!-- Popover 1 hidden content --> <div id="hiddenpopbadge1" style="display: none"> <h3>Content</h3> </div> <li><a class="badge2" id="popbadge2" href="#" role="button" data-trigger="focus" tabindex="0" data-placement="bottom">2</a></li> <!-- Popover 2 hidden content --> <div id="hiddenpopbadge2" style="display: none"> <h3>Content 2</h3> </div> <li><a class="badge3" id="popbadge3" href="#" role="button" data-trigger="focus" tabindex="0" data-placement="bottom">3</a></li> <!-- Popover 3 hidden content --> <div id="hiddenpopbadge3" style="display: none"> <h3>Content 3</h3> </div> </ul> 运行应用程序,所以现在我使用ionic run android -l -c运行它,当然不需要livereload ionic run android,现在app工作得很好