2010-10-02 6 views
0

J'ai écrit une application BB simple qui fait une requête HTTP et télécharge des informations codées JSON. Lorsque je l'exécute sur l'émulateur avec le "; deviceSide = true" après l'URL, cela fonctionne correctement. Mais quand je l'ai essayé dans mon BlackBerry Storm appareil réel, je suis arrivé à l'exception suivante:BlackBerry java.io.IOException: Aucun tunnel à ouvrir

java.io.IOException: No tunnels to open 

Voici le code que j'utilise pour faire la demande HTTP:

public static String doHttpRequest(String addr) { 
    HttpConnection hConn = null; 
    DataInputStream dis = null; 
    String strData = ""; 

    try { 
     hConn = (HttpConnection)Connector.open(addr); 
     dis = new DataInputStream(hConn.openInputStream()); 

     //Get the string in the stream 
     int c; 

     while ((c = dis.read()) != -1) { 
      strData = strData + (char) c; 
     } 
    }catch (Exception e) { 
     net.rim.device.api.ui.component.Dialog.alert(e.toString()); 
    } finally { 
     try{ 
      if(dis != null) dis.close(); 
      if(hConn != null) hConn.close(); 
     } catch(Exception e) { 
      net.rim.device.api.ui.component.Dialog.alert(e.toString()); 
     } 
    } 

    return strData; 
} 

Répondre

0

Il semble que vous avez des questions APN , vous devriez reconfigurer cette partie.

En général, si votre code fonctionne bien sur un émulateur, il est probable que vous aurez besoin de quelques réglages de configuration sur votre téléphone.


Ressources:

+0

Ok merci. Je vais sur un autre téléphone que je sais avoir configuré correctement APN. – Edu

-1

Colin, cette chaîne S'il vous plaît append - "; deviceside = true; interface = wifi" après l'URL. Ça devrait marcher. J'ai trouvé un problème similaire à ceci. Je change ce paramètre. Et maintenant, ça marche. :-)

+0

ça ne marche pas pour moi .. :( –

Questions connexes