我遇到了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虽然有几个连接,但只能处理一个连接(而且它总是喜欢通过EDGE连接WiFi)。是否有一些解决方法?或者可能是一个错误?
答案 0 :(得分:3)
有人能解释我这种奇怪的行为。
Android使用WiFi(如果可用)。否则,它使用移动数据。
似乎Android只能处理一个连接,尽管有几个连接活动。
Android通常一次只使用一个连接。在世界上大多数地方,移动数据是按计量的,因此如果WiFi可用,Android会使用它来降低用户的成本。
操作系统能够同时使用多个连接(请参阅WiFi热点设施),但对于正常操作,只需要一个连接。