2011-09-21 12 views
7

मैंने ब्लैकबेरी उपकरणों के लिए एक एप्लीकेशन विकसित किया है। यदि यह डेटा सेवा प्रदाता के माध्यम से इंटरनेट का उपयोग करता है तो एप्लिकेशन ठीक काम कर रहा है।ब्लैकबेरी एप्लिकेशन में वाईफाई की स्थिति की जांच करें

मेरे पास बीबी 9550 है और मैं वाईफाई का उपयोग करके अपने आवेदन का उपयोग करना चाहता हूं। मैंने बहुत कोशिश की लेकिन मुझे वाईफाई की स्थिति की जांच करने के लिए उचित जवाब नहीं मिल सका।

वाईफाई या डेटा सेवा प्रदाता के लिए हमारे आवेदन को चलाने के लिए हम कैसे अंतर कर सकते हैं?

उत्तर

10

वाईफ़ाई की जांच के लिए कनेक्ट किया गया है या नहीं, निम्न विधि आपकी सहायता करेगी।

public static boolean isWifiConnected() 
    { 
     try 
     { 
      if (RadioInfo.getSignalLevel(RadioInfo.WAF_WLAN) != RadioInfo.LEVEL_NO_COVERAGE) 
      { 
       return true; 
      } 
     } 
     catch(Exception e) 
     { 
      System.out.println("Exception during get WiFi status"); 
     } 
     return false; 
    } 

यदि वाईफाई कनेक्ट नहीं है तो निम्न विधियां डेटा सेवा जोड़ने में मदद करेंगी।

public static String getConnParam(){ 
     String connectionParameters = ""; 
     if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) { 
     // Connected to a WiFi access point 
     connectionParameters = ";interface=wifi"; 
     } else { 
     int coverageStatus = CoverageInfo.getCoverageStatus(); 
     ServiceRecord record = getWAP2ServiceRecord(); 
     if (record != null 
     && (coverageStatus & CoverageInfo.COVERAGE_DIRECT) == 
     CoverageInfo.COVERAGE_DIRECT) { 
     // Have network coverage and a WAP 2.0 service book record 
     connectionParameters = ";deviceside=true;ConnectionUID=" 
     + record.getUid(); 
     } else if ((coverageStatus & CoverageInfo.COVERAGE_MDS) == 
     CoverageInfo.COVERAGE_MDS) { 
     // Have an MDS service book and network coverage 
     connectionParameters = ";deviceside=false"; 
     } else if ((coverageStatus & CoverageInfo.COVERAGE_DIRECT) == 
     CoverageInfo.COVERAGE_DIRECT) { 
     // Have network coverage but no WAP 2.0 service book record 
     connectionParameters = ";deviceside=true"; 
     } 

    } 
     return connectionParameters; 
    } 
     private static ServiceRecord getWAP2ServiceRecord() { 
      ServiceBook sb = ServiceBook.getSB(); 
      ServiceRecord[] records = sb.getRecords(); 
      for(int i = 0; i < records.length; i++) { 
      String cid = records[i].getCid().toLowerCase(); 
      String uid = records[i].getUid().toLowerCase(); 

      if (cid.indexOf("wptcp") != -1 && 
      uid.indexOf("wifi") == -1 && 
      uid.indexOf("mms") == -1) { 
      return records[i]; 
      } 
      } 
      return null; 
      } 

उपर्युक्त तरीकों का उपयोग करने के लिए उदाहरण।

String connParams=(isWifiConnected())?";interface=wifi":getConnParam(); 

आशा है कि यह मदद से आप

+0

Thanx मुझे समाधान मिला। अब यह काम कर रहा है – Hitarth

3

इस प्रयास करें:

private static String getParameters() { 
    if (GetWiFiCoverageStatus()) { 
     return ";deviceside=true;interface=wifi"; 
    } 
    else { 
     return yourParametersForEdge 
    } 
} 

private static boolean GetWiFiCoverageStatus() { 
    if((WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED)) { 
     return true; 
    } 
    else 
     return false;   
} 

और जब आप कनेक्ट करने की आवश्यकता है, तो आप URL में पैरामीटर जोड़ना होगा:

yourUrl = yourUrl + getParameters(); 
+0

यूआरएल में पैरामीटर जोड़ने के लिए आपका कोड आपके कोड को भी सहायक बनाता है – Hitarth

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