HttpConnection不适用于3G

时间:2012-08-06 13:01:41

标签: java blackberry java-me blackberry-eclipse-plugin blackberry-jde

我有以下代码:

HttpConnection httpCon = null;
InputStream fileIn = null;
try
{
     httpCon = (HttpConnection) Connector.open(url + getConnectionSuffix(), Connector.READ);
     httpCon.setRequestMethod(HttpConnection.GET);
    }
    catch (Exception e)
    {
      .......
    }
  .............

private String getConnectionSuffix()
{
    String connSuffix = "";
    if (DeviceInfo.isSimulator())
    {
        connSuffix = ";deviceside=true";
    }
    else if ( (WLANInfo.getWLANState() == WLANInfo.WLAN_STATE_CONNECTED) &&
          RadioInfo.areWAFsSupported(RadioInfo.WAF_WLAN))
    {
        connSuffix=";interface=wifi";
    }
    else
    {
        String uid = null;
        ServiceBook sb = ServiceBook.getSB();
        ServiceRecord[] records = sb.findRecordsByCid("WPTCP");
        for (int i = 0; i < records.length; i++)
        {
            if (records[i].isValid() && !records[i].isDisabled())
            {
                if (records[i].getUid() != null &&
                    records[i].getUid().length() != 0)
                {
                    if ((records[i].getCid().toLowerCase().indexOf("wptcp") != -1) &&
                        (records[i].getUid().toLowerCase().indexOf("wifi") == -1) &&
                        (records[i].getUid().toLowerCase().indexOf("mms") == -1))
                    {
                        uid = records[i].getUid();
                        break;
                    }
                }
            }
        }
        if (uid != null) {
            // WAP2 Connection
             connSuffix = ";ConnectionUID="+uid;
        } else {
             connSuffix = ";deviceside=true";
        }
    }
    return connSuffix;
}

但互联网并不总是有效。在3G上它不起作用(其他应用程序,对于exp:浏览器运行良好)。有什么问题?

1 个答案:

答案 0 :(得分:1)

在获取服务预订之前,尝试通过BIS连接(如果启用了Blackberry选项,则使用):

if((CoverageInfo.getCoverageStatus()&amp; CoverageInfo.COVERAGE_BIS_B)== CoverageInfo.COVERAGE_BIS_B){             connSuffix =“; deviceside = false; ConnectionType = mds-public”;         }