0

我在 Android 中遇到了奇怪的问题。我使用此代码获取有关所有 Internet 连接的信息:

    NetworkInfo[] info = connectivityManager.getAllNetworkInfo();
    for (NetworkInfo networkInfo : info)
    {
        Log.d("LOG","networkInfo = " + networkInfo);
    }

我在我打开 WiFi 连接并拥有活动移动互联网 (EDGE) 的设备上对此进行了测试。但是在节目中:type: mobile[EDGE], state: DISCONNECTED/DISCONNECTED但是type: WIFI[], state: CONNECTED/CONNECTED当我关闭 WiFi 时,它会显示type: mobile[EDGE], state: CONNECTED/CONNECTED.

有人可以解释一下这种奇怪的行为吗。尽管有几个连接处于活动状态,但似乎 Android 只能处理一个连接(并且它总是更喜欢 WiFi 连接而不是 EDGE)。有一些解决方法吗?或者可能是一个错误?

4

1 回答 1

3

有人可以向我解释这种奇怪的行为。

如果可用,Android 会使用 WiFi。否则,它使用移动数据。

尽管有几个处于活动状态,但 Android 似乎只能处理一个连接。

Android 通常一次只使用一个连接。在世界大部分地区,移动数据都是按流量计费的,因此如果 WiFi 可用,Android 就会使用它,以降低用户的成本。

操作系统能够同时使用多个连接(参见 WiFi 热点设施),但对于正常操作,只需要一个连接。

于 2013-07-20T21:14:16.557 回答