둘 다 동일한 SSID, 보안 유형 및 암호를 가진 범위에 두 개의 wifi 네트워크가있는 경우 사용할 수있는 ID가 있습니까? 그 ID를 안드로이드에서 얻을 수있는 방법이 있습니까?다른 Wi-Fi 네트워크를 구분하는 방법은 무엇입니까?
6
A
답변
6
당신은 BSSID
을 통해 구별 할 수 - 누군가가 확실히 다른 (독특한) MAC
주소를해야합니다 고정 MAC
주소를 할당하지 않을 경우.
다른 채널에있을 수도 있습니다. 2 개의 네트워크가 동일한 SSID
, 동일한 채널 및 동일한 BSSID
인 경우 불가능하다고 생각합니다.
1
보내는 네트워크 라우터/AP에서 MAC 주소 추출을 시도 할 수 있습니다. 이 주소는 고유 할 것입니다.
1
getSubtype()을 사용하십시오.
체크 아웃 슬라이드 9 here :
이ConnectivityManager mConnectivity = null;
TelephonyManager mTelephony = null;
// Skip if no connection, or background data disabled
NetworkInfo info = mConnectivity.getActiveNetworkInfo();
if (info == null || !mConnectivity.getBackgroundDataSetting()) {
return false;
}
// Only update if WiFi or 3G is connected and not roaming
int netType = info.getType();
int netSubtype = info.getSubtype();
if (netType == ConnectivityManager.TYPE_WIFI) {
return info.isConnected();
} else if (netType == ConnectivityManager.TYPE_MOBILE
&& netSubtype == TelephonyManager.NETWORK_TYPE_UMTS
&& !mTelephony.isNetworkRoaming()) {
return info.isConnected();
} else {
return false;
}
그래서'BSSID' 또는'BSSID'와'SSID'와 채널이나'MAC' 만 체크해야할까요? 항상 올바르게 작동합니까? – Soheil
BSSID 확인으로 충분하다고 생각하지만 여전히 채널을 확인할 수 있습니다. – Sajmon