2

我正在尝试使用此代码检测模拟器的互联网连接

if (
    NetworkManager.networkManager.isConnected(NetworkType.WIFI) ||
    NetworkManager.networkManager.isConnected(NetworkType.CELLULAR)
) {
    //we have connection!!
    doSomething();
} else {
    //no connection =(
    showError();
}

但是,这总是返回 false。似乎模拟器使用了另一种未被 NetworkType 常量标识的网络。我认为这是因为 VMWare 通过黑魔法使连接成为可能。

所以我不确定我是否应该坚持这个代码并希望它能够在使用 WiFi 或蜂窝网络的真实设备中工作,或者应该找到另一种方法来满足我的需要。

我也试过这样做(不传递参数)

NetworkManager.networkManager.isConnected()

但无论我的电脑是否有互联网连接,它都会返回 true。我认为 VMWare 又在欺骗我。

那么,关于我应该如何在真实设备中获得更好结果的任何建议?

4

1 回答 1

0

好吧,只是为了更新。我终于得到了一个 BBZ10,并有机会尝试这个代码。 即使模拟器无法真正模拟它们的功能,它似乎 也会按照预期NetworkManager.networkManager.isConnected(NetworkType.WIFI) 的 方式工作。NetworkManager.networkManager.isConnected(NetworkType.CELLULAR)

因此,如果您真的需要此功能,请继续尝试,一旦部署,它将真正起作用。

于 2013-10-01T23:00:18.193 回答