我有一个使用以下方法检查网络连接的功能:
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo[] networkInfos = cm.getAllNetworkInfo();
但是,一旦连接了Wifi网络,移动网络将被视为DISCONNECTED
我怎么知道两个网络是否都已连接?
提前感谢您的时间。
答案 0 :(得分:4)
试试这个:
ConnectivityManager cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobileNet = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if(netInfo!=null){
if(mobileNet.isConnected()){
System.out.println("Mobile Network is connected");
}
if(wifi.isConnected()){
System.out.println("Wi-fi Network is connected");
}
}
答案 1 :(得分:1)
我怎么知道两个网络是否都已连接?
您可以创建肯定的方法来检查两种类型e.q。
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
// do your stuff
}
if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
// do your stuff
}
但在Android操作系统中,如果Wifi和移动网络可用(并且您可以连接),操作系统默认选择Wifi,以便将Wifi用作活动网络连接。
答案 2 :(得分:0)
Android设备只能有一个连接! (WiFi或手机)