如何知道设备是否以编程方式连接到Wifi或3G

时间:2010-08-11 17:40:44

标签: android android-emulator

我如何知道设备是否以编程方式连接到Wifi或3G

由于

2 个答案:

答案 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;
    }
}