【问题标题】:Get network status type in PhoneGap-Android without pinging the host在PhoneGap-Android中获取网络状态类型而不ping主机
【发布时间】:2011-05-16 16:11:44
【问题描述】:

我有 PhoneGap-Android 应用程序,我想使用 http://docs.phonegap.com/phonegap_network_network.md.html 中所述的 PhoneGap API 检查网络连接类型(无连接、WIFI、GSM)

但是,我不需要检查是否可以访问特定的主机名。我唯一需要知道的是连接类型,因此不会出现对 Internet 的 ping 操作。

我尝试过诸如此类的变体,但没有成功:

navigator.network.isReachable(null, reachableCallback);
navigator.network.isReachable(false, reachableCallback);
navigator.network.isReachable('', reachableCallback);

有没有办法在 PhoneGap Android 应用程序中不实际访问互联网的情况下获取网络连接类型?

【问题讨论】:

    标签: android cordova


    【解决方案1】:

    目前没有办法做到这一点。

    您始终可以为 phonegap 编写一个插件,以在本机代码中实现您想要的。这是关于如何编写插件的一个很好的条目:http://wiki.phonegap.com/w/page/36752779/PhoneGap-Plugins

    很抱歉,我没有很好的建议如何在 Java 中为 Android 编写该功能。

    【讨论】:

    • 哦,好吧,我希望有某种奇迹 ;-)
    【解决方案2】:

    从 0.9.6 开始,有一个名为 Connection 的新 API 可以解决这个问题。看看http://docs.phonegap.com/phonegap_connection_connection.md.html

    【讨论】:

    • 这在 android 上确实不一致。我的 Nexus S 上的 3G 和 4G 连接都返回 Connection.UNKNOWN。如果 navigator.network.connection.type 为“未知”,ping 服务器确实是最可靠的方法。由于它在不同设备之间不一致,因此请使用“未知”作为您应该手动测试它的指标。
    • 是的,在 Android (HTC Desire X, 4.0.1) 上不一致。我的手机使用 3G 时没问题,但使用 WIFI 时出现 Connection.NONE。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2011-04-11
    • 1970-01-01
    • 2020-10-22
    • 2010-12-25
    • 2014-02-10
    • 1970-01-01
    相关资源
    最近更新 更多