Url 关键隧道故障异常。如何解决这个问题
我编写了以下代码将位置坐标发送到服务器:Url 关键隧道故障异常。如何解决这个问题,url,blackberry,connection,Url,Blackberry,Connection,我编写了以下代码将位置坐标发送到服务器: setTitle("version 5.0"); Criteria criteria = new Criteria(); criteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT); criteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT); criteria.setCostAllowed(true); crite
setTitle("version 5.0");
Criteria criteria = new Criteria();
criteria.setHorizontalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setVerticalAccuracy(Criteria.NO_REQUIREMENT);
criteria.setCostAllowed(true);
criteria.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
// bc.setFailoverMode(GPSInfo.GPS_MODE_ssCDMA_MS_ASSIST, 2, 100);
try {
LocationProvider lp=LocationProvider.getInstance(criteria);
if(lp !=null)
{
Location loc=null;
// while(loc==null)
// {
loc=lp.getLocation(-1);
// }
if(loc!=null){
add(new EditField(loc.getQualifiedCoordinates().getLatitude()+"\n"+loc.getQualifiedCoordinates().getLongitude(),""));
}
else
add(new EditField("unable to find the location provider", ""));
}
else
{
add(new EditField("unable to find the location provider", ""));
}
} catch (LocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ButtonField b = new ButtonField("Send");
add(b);
b.setChangeListener(new FieldChangeListener() {
public void fieldChanged(Field field, int context) {
// TODO Auto-generated method stub
try{
String url="http://56.91.532.72:8084/SFTS/updateLocation.jsp?empid=12304&lat=16.9477&lon=82.23970;deviceside=true";
Dialog.alert(url);
ConnectionFactory factory = new ConnectionFactory();
// use the factory to get a connection
ConnectionDescriptor conDescriptor = factory.getConnection(url, TransportInfo.TRANSPORT_TCP_CELLULAR,null);
if ( conDescriptor != null ) {
HttpConnection conn = (HttpConnection) conDescriptor.getConnection();
Dialog.alert("http");
//conn.setRequestMethod(HttpConnection.GET);
Dialog.alert("conn.setre");
int responseCode = conn.getResponseCode();
Dialog.alert(Integer.toString(responseCode));
if(responseCode == HttpConnection.HTTP_OK)
{
Dialog.alert("OK");
InputStream data = conn.openInputStream();
StringBuffer raw = new StringBuffer();
byte[] buf = new byte[4096];
int nRead = data.read(buf);
while(nRead > 0)
{
raw.append(new String(buf, 0, nRead));
nRead = data.read(buf);
}
}
}
}catch(Exception e){
Dialog.alert(e.getMessage());
}
}
});
我遇到了一个异常严重的隧道故障。但是我能够正确地检索位置坐标。我正在使用黑莓8520与airtel sim卡,这是与数据服务启用。实际上,这个应用程序在5.0版的手机上运行得很好。但是它在我已经从4.6.1.3升级到5.0.0的手机上不起作用了,可能有什么问题?请给我一个解决方案。多谢各位
我还尝试了以下url:
我还在手机中启用了apn设置,这是因为您没有正确设置apn。当您使用直接tcp时,必须设置apn才能连接到网络
此外,网络连接应该在单独的线程上完成。这是因为您没有正确设置apn。当您使用直接tcp时,必须设置apn才能连接到网络
另外,网络连接应该在单独的线程上完成。更多信息:您是每次执行此代码时都会遇到严重的隧道故障,还是在一段时间后它才会启动?每次我运行此代码时都会出现更多信息:您是每次执行此代码时都会遇到严重的隧道故障,或者它是在一段时间后开始的?每次我运行代码时它都会出现尝试此连接字符串,然后:
http://56.91.532.72:8084/SFTS/updateLocation.jsp?empid=12304&lat=16.9477&lon=82.23970;deviceside=true;apn=airtelgprs.com
我已尝试在单独的线程上运行网络连接。结果是一样的。甚至当我使用interface=wifi时,我也尝试了上述问题;apn=airtelgprs.com和only interface=wifi只需使用interface=wifi,然后删除apn=airtelgprs.com。另外,在单独的螺纹上运行newtwork连接将无法解决隧道故障的问题。您必须始终在单独的线程上运行网络连接。如果要使用gprs,请按照以下方式设置apn,或在url中输入apn值,如@MusiGenesisTry所示此连接字符串,然后:http://56.91.532.72:8084/SFTS/updateLocation.jsp?empid=12304&lat=16.9477&lon=82.23970;deviceside=true;apn=airtelgprs.com
我已尝试在单独的线程上运行网络连接。结果是一样的。甚至当我使用interface=wifi时,我也尝试了上述问题;apn=airtelgprs.com和only interface=wifi只需使用interface=wifi,然后删除apn=airtelgprs.com。另外,在单独的螺纹上运行newtwork连接将无法解决隧道故障的问题。您必须始终在单独的线程上运行网络连接。如果要使用gprs,请按照以下方式设置apn,或在url中输入apn值,如@MusiGenesis所示