我创建了一个j2me程序并将其移植到黑莓粗体。
该程序执行一些http查询。 偶尔会出现例外情况:'隧道失败'
我的APN设置是正确的(因为有时它确实有效)。
我使用附加到网址<'p>的“;deviceside=true
”进行连接
我注意到当浏览器刚刚处于活动状态时,程序始终有效。 但是,当浏览器在几分钟内没有激活并且我启动程序时,我得到了隧道失败的错误。
答案 0 :(得分:2)
一些黑莓设备的问题是每个其他网络连接都失败了。因此,当您收到异常时,您将不得不再次尝试。所以你的连接代码应该是这样的
int numAttempts = 0;
boolean hasConnectedSuccessfully = false;
while(numAttempts < 2 && !hasConnectedSuccessfully)
{
try
{
// do the http connection
hasConnectedSuccessfully = true;
}
catch(Exception e)
{
hasConnectedSuccessfully = false;
}
finally
{
//close the connections
}
numAttempts++;
}
希望这可以解决您的问题
答案 1 :(得分:1)
作为测试,您可能想尝试在URL本身上添加APN设置以查看是否有帮助。我假设你有很好的信号强度?
答案 2 :(得分:1)
即使您只是从连接中读取,这听起来也很愚蠢,请确保在打开连接器时将其打开为读/写
String url = "http://www.google.com";
HttpConnection connection = (HttpConnection)Connector.open(url, Connector.READ_WRITE, true);