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

网络信息插件Cordova/Ionic的延迟广播

刘承悦
2023-03-14

嗨,我有很多测试轮,但不能得到确切的解决方案,所以张贴帮助。

我的应用程序在Ionic not Ionic2中

使用plugin for network是“network Information”cordova plugin network Information 1.3.0“network Information”链接

脚本:

用户最小化应用程序并转到后台并关闭WiFi、移动数据等网络源并返回应用程序主页时,插件。方法首先为网络返回true,然后在一段时间后得到广播,表示现在网络处于脱机状态

预期行为:

应在打开或关闭WiFi、移动数据等网络源时接收广播,以便我可以在应用程序中处理。

我在$ionicPlatform中响应网络事件的广播的源代码。已在应用程序中就绪。js如下所述:

//listen for Online event
        $rootScope.$on('$cordovaNetwork:online', function (event, networkState) 
        {
            console.log("BR got inside online -- App " + networkState);
            $rootScope.isonlineState = true;
            console.log("BR got inside online getNetwork-- App " + $cordovaNetwork.getNetwork());
            console.log("BR got inside online isOnline-- App " + $cordovaNetwork.isOnline());
        })

    // listen for Offline event
    $rootScope.$on('$cordovaNetwork:offline', function (event, networkState) 
     {
        console.log("BR got inside offline  -- App " + networkState);
            $rootScope.isonlineState = false;
        console.log("BR got inside offline getNetwork-- App " + $cordovaNetwork.getNetwork());
        console.log("BR got inside offline isOnline-- App " + $cordovaNetwork.isOnline());
        })

我对这个场景进行了多次调试,但仍然无法仅在iPhone上获得正确的行为。

请分享你在这方面的经验,以便帮助我解决这个问题。提前谢谢。

共有1个答案

程淮晨
2023-03-14

经过几天的努力,我终于发现这个插件除了BrodcastReceivers之外,没有其他方法可以通知您,这很好,但在非网络环境下,当你的应用程序从后台到前台调用API时,你会看到你的应用程序页面正在尝试html" target="_blank">调用API(因为插件方法将isOnline返回为true),但不应该这样做,因为没有网络,几秒钟后你会收到广播,说你现在处于脱机状态。

溶液

因此,最好的方法是从BroadcastReceiver调用从后台到前台的页面更新。。请致电您的本地BrodacstReceiver,根据网络事件更新页面。

我也在爱奥尼亚论坛上发布了这个问题,但我并没有收到任何建设性的消息。

希望这对其他面临同样问题和需要解决的人有所帮助…:)

 类似资料:
  • 对于网络连接和断开连接,我正在使用科尔多瓦插件即科尔多瓦插件网络信息1.3.0“网络信息”。 还有我的cordova 6.4.0版 当我启动应用程序并使用凭据登录时,我正在断开wifi连接,此时会触发弹出事件,但一段时间后,我打开wifi,此时不会触发弹出事件。 这是我的密码。 当我断开wifi时,onOffline工作正常onOffline事件触发。但当wifi重新连接时,onOnline事件不

  • 本文向大家介绍Python检测网络延迟的代码,包括了Python检测网络延迟的代码的使用技巧和注意事项,需要的朋友参考一下 本文讲述了Python检测网络延迟的代码。分享给大家供大家参考,具体如下: 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对呐喊教程的支持。

  • 我用的是SpringMVC 4 Tomcat。我的应用程序用@ Autowired SimpMessagingTemplate得到了2个类(A和B)。每个类都有一个调用“convertAndSend”的线程。 A类发送一条由8个双字段和3个长字段组成的消息。它向大约500个主题发送消息,例如“/主题/价格. X”(其中X-一些随机字符串)。频率-在单个循环中每秒最多4次(每个主题)。 B 类发送一

  • 我们正在使用Rabbitmq-server_3.5.7及其相应的延迟消息交换插件 到目前为止,我们一直在使用直接交换并控制客户端应用程序上的消息生成器的延迟(并跟踪当前队列中的消息数量)。 我们已经开始成功使用延迟交换,但我们想知道如何检查当前延迟的消息数量(这是等待路由到队列)。 兔子是否提供了一种知道这一点的方法?是否有任何其他方法可以访问此信息? 谢啦!

  • 可以在系统不繁忙或者临时下线前检测客户端和server或者proxy 的带宽: 1)使用 iperf -s 命令将 Iperf 启动为 server 模式: iperf –s ———————————————————— Server listening on TCP port 5001 TCP window size: 8.00 KByte (default) ———————————————————

  • Android上的Cordova插件网络信息存在问题。即使有4G连接,有时,当我从后台恢复应用程序并使用navigator检查连接时。联系键入返回的连接。类型=无,但存在internet连接。如果我关闭并重新打开应用程序,它会返回连接。类型=4G。I用户cordova@7.1.0和科尔多瓦-android@6.4.0