我创建了以下两种方法来可靠地构建用于建立数据连接的连接。到目前为止,我还没有遇到任何与用户一起测试此方法的问题。
我很想得到一些有关此方法的社区反馈,并让我知道buildConnectionString()中是否有任何内容。请参阅以下代码:
private static String buildConnectionString()
{
//The Device is a simultaor --> TCP
if (DeviceInfo.isSimulator())
return ";deviceside=true;ConnectionTimeout=20000";
String st = "";
//A carrier is providing us with the data service
if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_CARRIER) == CoverageInfo.COVERAGE_CARRIER)
{
// blackberry internet service
ServiceRecord rec = getBIBSRecord();//Apply for BIS access to get info about BIS recordset
if (rec != null)//couldn't find the right record
st = "[THIS CONNECTION STRING IS REMOVED, PLEASE APPLY FOR BIS ACCESS TO GET THIS STRING]";
else if(GetWap2().length() > 0)
st = GetWap2();
else
st = ";deviceside=true";// let the phone try to do the work
}
else if ((CoverageInfo.getCoverageStatus() & CoverageInfo.COVERAGE_MDS) == CoverageInfo.COVERAGE_MDS)
st = ";deviceside=false";// use the clients blackberry enterprise server
else
st = ";deviceside=true";// let the phone do the work if it can
return st + ";ConnectionTimeout=45000";
}
public static String GetWap2() {
String wap2Postfix = null;
final ServiceBook sb = ServiceBook.getSB();
final ServiceRecord[] records = sb.findRecordsByCid("WPTCP");
for (int i = 0; i < records.length; i++) {
// Search through all service records to find the valid non Wi-Fi
// WAP 2.0 Gateway Service Record.
if (records[i].isValid() && !records[i].isDisabled()
&& records[i].getUid() != null
&& records[i].getUid().length() != 0
&& records[i].getUid().toLowerCase().indexOf("wifi") == -1
&& records[i].getUid().toLowerCase().indexOf("mms") == -1) {
wap2Postfix = ";ConnectionUID=" + records[i].getUid();
break;
}//endif
}//end for
return wap2Postfix;
}// end wap postfix
可能需要考虑的问题:
让我知道!