2011-10-22 74 views
0

我們如何檢查黑莓應用程序中的互聯網連接是否可用?如何檢查黑莓SDK中的活動Internet連接?

當我發送請求到我的服務器那個時候我想檢查我的設備連接可用性。

+0

當然,如果你的服務器無法訪問,那麼你用來向你的服務器發送請求的API肯定會返回一個錯誤代碼? – sarnold

+0

我們不能手動檢查WLAN/GPRS(黑莓服務)是否已經啓動? – Hitarth

回答

1

你可以使用HttpConnection.requestCode()方法來檢查連接是否可用。如果它返回200,意味着連接exists.Try這,我用這個代碼來檢查連接,我不知道是否有任何其他方式。

 public void run() { 
    try{ 
     HttpConnection conn = (HttpConnection)Connector.open("http://www.goole.com"); 

     conn.setRequestMethod(HttpConnection.GET); 
     int i = conn.getResponseCode(); 
     if(conn.getResponseCode()==HttpConnection.HTTP_OK) 
     { 

      System.out.println("----------------------------------------responsecode-------------------->>>>>>: " + conn.getResponseCode()); 
      _screen.requestSuccess("Connection Available. ResponseCode:" + i); 
      conn.close(); 
     } 
     else 
     { 
      System.out.println("----------------------------------------responsecode-------------------->>>>>>: " + conn.getResponseCode()); 
      _screen.requestFailed("Connection Not Available.ResponseCode:" + i); 
      conn.close(); 


     } 

    } 
1

您可以測試,如果你覆蓋,這樣的事情:

public static boolean hasSignal() { 
    if (RadioInfo.getState() == RadioInfo.STATE_OFF || RadioInfo.getSignalLevel() == RadioInfo.LEVEL_NO_COVERAGE) { 
     System.out.println(" -- no signal"); 
     return false; 
    } else { 
     return true; 
    } 
} 

如果您正在使用需要單獨檢查無線網絡連接WiFi設備(我認爲)

public static boolean hasWifi() { 
    if ((RadioInfo.getActiveWAFs() & RadioInfo.WAF_WLAN) != 0) { 
     return (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_DIRECT, RadioInfo.WAF_WLAN, true)); 
    } else { 
     System.out.println(" -- no wifi"); 
     return false; 
    } 
} 

我在我的應用程序中使用它們,他們似乎正常工作。

2

你好,你可以用這段代碼測試你的連接。

public static boolean isConnectionAvailable(String networkName) { 
    HttpConnection connection; 
    try { 
     HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory("http://m.google.com"); 
     connection = httpConnectionFactory.makeConnectionUsing(networkName); 
     if(connection == null) 
      return false; 
     else if (connection.getResponseCode() == HttpConnection.HTTP_OK) 
     { 
      connection.close(); 
      return true; 
     } 
     connection.close(); 
    } catch(Exception e) {} 

    return false; 
}