2013-08-28 13 views
6

यदि श्रेणी में दो वाईफाई नेटवर्क हैं, तो दोनों में एक ही एसएसआईडी, सुरक्षा प्रकार और पासवर्ड है, क्या उनके बीच अंतर करने के लिए कोई उपलब्ध आईडी है? एंड्रॉइड में उस आईडी को पाने का कोई तरीका है?विभिन्न वाईफाई नेटवर्क के बीच अंतर कैसे करें?

उत्तर

6

आप उन्हें BSSID के माध्यम से अलग कर सकते हैं - यदि कोई निश्चित MAC पता वे सुनिश्चित करें कि विभिन्न (अद्वितीय) MAC पतों के लिए होगा असाइन नहीं करेगा।

इसके अलावा वे अलग-अलग चैनल पर भी हो सकते हैं। मुझे लगता है कि अगर दो नेटवर्कों में SSID, एक ही चैनल और एक ही BSSID समान है तो यह असंभव है।

+1

इसलिए मुझे केवल 'BSSID' या 'BSSID' और' SSID' और चैनल या' मैक 'की जांच करनी चाहिए? जो हमेशा सही ढंग से काम करते हैं? – Soheil

+1

मुझे लगता है कि बीएसएसआईडी जांचना पर्याप्त है लेकिन फिर भी आप चैनल भी देख सकते हैं। – Sajmon

1

आप प्रेषण नेटवर्क राउटर/एपी से मैक पते निकालने का प्रयास कर सकते हैं। यह पता अद्वितीय होगा।

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; 
} 
+0

'getSubtype() 'द्वारा वापस क्या किया जाता है? – Soheil

+1

http://developer.android.com/reference/android/net/NetworkInfo.html – JNL

संबंधित मुद्दे