2013-08-06 17 views
5

मैं) getScanResults द्वारा दिया (हर नेटवर्क के लिए जाँच करने के लिए विधि की जरूरत है कि वह पहले से डिवाइस में कॉन्फ़िगर किया गया है, वह है, मैं जांच करने की आवश्यकता है, तो यह अस्तित्व में getConfiguredNetworks() द्वारा लौटाई गई सूची में। समस्या यह है: मैं यह कैसे कर सकता हूं क्योंकि उनके पास समान पैरामीटर एसएसआईडी है? मुझे पता है कि ऐसा करने का यह अच्छा तरीका नहीं होगा क्योंकि एक ही एसएसआईडी के साथ और अधिक नेटवर्क हो सकते हैं। के रूप में संदर्भ में कहा गया है, networkId कि प्रार्थना करता हुआ इस नेटवर्क कॉन्फ़िगरेशन प्रविष्टि की पहचान के लिए उपयोग करता आईडी नंबर है, लेकिन मैं ScanResult वस्तु के लिए कुछ इसी तरह नहीं मिल रहा।चेक अगर ScanResult नेटवर्क पहले से ही कॉन्फ़िगर किया गया है (getConfiguredNetworks में मौजूद है() सूची)

तो अगर यह मेरा रिसीवर है:

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
registerReceiver(new BroadcastReceiver() 
     { 
      @Override 
      public void onReceive(Context c, Intent intent) 
      { 
       results = wifi.getScanResults(); 
       size = results.size(); 
      } 
     }, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION)); 

और यह मैं कैसे कॉन्फ़िगर किया गया नेटवर्क मिलता है:

List<WifiConfiguration> list = wifi.getConfiguredNetworks(); 

वहाँ अगर list.get (i) से मेल खाती है की जाँच करने के लिए एक रास्ता है results.get (जे) विन्यास, जो भी मैं या जे के लिए?

उत्तर

3

आप देख सकते हैं दोनों नेटवर्कों मैच के BSSIDs। ScanResult और WifiConfiguration दोनों एक बीएसएसआईडी आपूर्ति करते हैं, जो एक नेटवर्क के लिए अद्वितीय है।

+1

समस्या यह है कि getConfiguredNetworks() BSSID – Ben

+0

केवल बार @Ben आप BSSID के लिए एक अशक्त मिल जाएगा के लिए अशक्त रिटर्न है कर रहे हैं: 1. wificonfiguration मैन्युअल बचा लिया गया था और BSSID गलत तरीके से जमा हो गया था 2. wifimanager है तैयार नहीं अभी तक (यह केवल कम ही होता है और गैर-रिवाज में संभावना नहीं बनाता है। –

+0

+ Sreedevi जम्मू क्या आपका मतलब है wifimanager अभी तक तैयार? नहीं है मैं BSSID से अशक्त हो रही है साथ ही – x0a

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