黑莓Bold 9000互联网连接工作正常,然后休息

时间:2012-06-05 11:25:56

标签: java blackberry httpconnection

我在网上看过很多帖子,但我找不到解决方案。

我开发了一个BlackBerry App(SDK 5),它使用HttpConnection从服务器获取/设置数据。

我尝试通过无线和G2 / G3连接进行连接。

在这两种情况下,应用程序工作正常一段时间,然后突然互联网连接中断(有时在从服务器加载数据的中间)。 在那之后,应用程序不起作用,我也无法访问任何网页(在BB浏览器中)。看起来BB禁用了互联网。

当我在BB浏览器中尝试时,我收到以下消息:

  

无法连接到互联网,请稍后再试。如果   问题仍然存在,请联系您的服务提供商

恢复互联网的唯一方法是转到设置并禁用WiFi,然后重新启用它。之后它会起作用,但有一段时间了。

它永远不会在同一时刻打破。

以下是我用来从服务器获取数据的代码:

String urlPath = "http://www.mysite.com/api/?debug=true";
//debug is my variable on the site, it's not necessary

if(DeviceInfo.isSimulator()){
    urlPath += ";deviceside=true";
} else {
    if (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) {
        urlPath += ";interface=wifi";
    }else{
        urlPath += ";deviceside=true";
    }
}

HttpConnection httpConn = (HttpConnection) Connector.open( urlPath );

httpConn.setRequestMethod(HttpConnection.POST);
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");
httpConn.setRequestProperty("Content-Language", "en-US");
httpConn.setRequestProperty("Connection", "close");

OutputStream os = httpConn.openOutputStream();

os.write(temp1.getBytes());
os.flush();
os.close();
StringBuffer sb = new StringBuffer();
DataInputStream is = httpConn.openDataInputStream();
int chr;
while ((chr = is.read()) != -1) {
    sb.append((char) chr);
}

String response = new String(sb.toString().getBytes(), "UTF-8");

我做错了什么?

有没有办法解决这个问题并保持连接稳定和响应?

感谢。

0 个答案:

没有答案