Check Network Connection Before Login

Use offlineLogin to test the wireless connection before a login attempt is made. If the wireless connection option has been switched off, the loginToSync call takes a long time to fail when a wrong password is entered, with an 'Invalid Password' error message appearing only after a timeout.

import net.rim.device.api.system.RadioInfo;
……
 public class Test {
	public static void main(String[] args) {
	if (isWirelessConnected ()) 
   { 
     XXDB.loginToSync(username, password);
   } 
   else 
   { 
     boolean result = XXDB. offlineLogin(username, password);
     if (result == false) 
       { 
         throw new Exception("Offline login failed"); 
       } 
    }
}

	public static boolean isWirelessConnected()
   {
     boolean isWirelessConnected = true;
     int state = RadioInfo.getState();
     int signal = RadioInfo.getSignalLevel();
     if (state == RadioInfo.STATE_OFF || state == RadioInfo.STATE_LOWBATT ||
       signal == RadioInfo.LEVEL_NO_COVERAGE)
       {
         isWirelessConnected = false;
        }
       return isWirelessConnected;
    	}   
}

If your application uses BES or BIS connectivity to connect to an Unwired Server from a BlackBerry device, the application can automatically switch to use Wi-Fi when it becomes available. If using a direct TCP connection, the application must explicitly specify a Wi-Fi transport type.

DatabaseClass.getSynchronizationProfile().setString("transport", "WIFI")