我如何知道设备是否以编程方式连接到Wifi或3G
由于
答案 0 :(得分:8)
您可以使用上面提到的WifiManager类here
编辑: 通过调用WifiManager类的getConnectionInfo()函数,您将得到WifiInfo object
WifiInfo具有函数getBSSID(),它为您提供连接的AP名称
如果它的null表示它没有通过Wifi连接到任何AP(Wifi未启用)
在寻找更多信息时,我发现this应该回答有关移动连接和wifi连接的所有问题答案 1 :(得分:0)
这是我的工作样本:
public boolean isNetworkTypeMobile() {
final ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
return (cm!=null && cm.getActiveNetworkInfo()!=null && isNetworkTypeMobile(cm.getActiveNetworkInfo().getType()));
}
public static boolean isNetworkTypeMobile(int networkType) {
switch (networkType) {
case ConnectivityManager.TYPE_MOBILE: //0
case ConnectivityManager.TYPE_MOBILE_MMS: //2
case ConnectivityManager.TYPE_MOBILE_SUPL: //3
case ConnectivityManager.TYPE_MOBILE_DUN: //4
case ConnectivityManager.TYPE_MOBILE_HIPRI: //5
case 10:
case 11:
case 12:
case 14:
return true;
default:
return false;
}
}