我使用以下代码获取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。 谁知道为什么会这样?
答案 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