我写了一个简单的BB应用程序来执行HTTP请求并下载一些JSON编码信息。 当我在模拟器上使用“; deviceSide = true”在URL之后运行它可以正常工作。但是当我在我的BlackBerry Storm实际设备中尝试它时,我得到以下例外:
java.io.IOException: No tunnels to open
以下是我用来执行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;
}
答案 0 :(得分:0)
看来你有一些APN问题,你应该重新配置这部分。
一般情况下,如果您的代码在模拟器上运行良好,则可能需要在手机上进行一些配置调整。
资源:
答案 1 :(得分:-1)
Colin,请在网址后面附加此字符串 - “; deviceside = true; interface = wifi”。它应该工作。我发现了类似的问题。我改变了这个设置。现在,它正在发挥作用。 : - )