WifiManager返回BSSID 00:00:00:00:00:00

时间:2014-07-15 10:23:31

标签: android wifimanager

我使用以下代码获取BSSID:

public static String getBSSID(Context context) {
    WifiManager wifiMgr = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    return wifiMgr.getConnectionInfo().getBSSID();
}

当我使用此代码时,设备没有SIM卡,它工作正常。 但是当我有一张SIM卡时,即使我使用的是wifi - 我的返回值是00:00:00:00:00:00。 谁知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

我自己也有同样的问题。大多数机会是你在尝试获取bssid之前没有检查你当前是否已连接到WiFi:

public static boolean isConnectedToRouter(Context context) {
    ConnectivityManager onnectivityManager = (ConnectivityManager) context
            .getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo wifi = onnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    if (wifi.isConnected()) {
        return true;
    }

    return false;
}

只有当此方法返回true时,才能获得bssid。当您未连接到特定Wifi时尝试获取BSSID将返回00:00:00:00:00:00