[英]How to check for an active internet connection in blackberry SDK?
我们如何检查Blackberry应用程序中的互联网连接是否可用?
那时,当我向服务器发送请求时,我想检查设备连接的可用性。
您好,您可以通过此代码测试您的连接。
public static boolean isConnectionAvailable(String networkName) {
HttpConnection connection;
try {
HttpConnectionFactory httpConnectionFactory = new HttpConnectionFactory("http://m.google.com");
connection = httpConnectionFactory.makeConnectionUsing(networkName);
if(connection == null)
return false;
else if (connection.getResponseCode() == HttpConnection.HTTP_OK)
{
connection.close();
return true;
}
connection.close();
} catch( Exception e) {}
return false;
}
您可以使用HttpConnection.requestCode()方法检查连接是否可用。如果返回200,则表示存在连接。尝试执行此操作,我使用此代码检查连接,不知道是否还有其他方法。
public void run() {
try{
HttpConnection conn = (HttpConnection)Connector.open("http://www.goole.com");
conn.setRequestMethod(HttpConnection.GET);
int i = conn.getResponseCode();
if(conn.getResponseCode()==HttpConnection.HTTP_OK)
{
System.out.println("----------------------------------------responsecode-------------------->>>>>>: " + conn.getResponseCode());
_screen.requestSuccess("Connection Available. ResponseCode:" + i);
conn.close();
}
else
{
System.out.println("----------------------------------------responsecode-------------------->>>>>>: " + conn.getResponseCode());
_screen.requestFailed("Connection Not Available.ResponseCode:" + i);
conn.close();
}
}
您可以测试是否覆盖以下内容:
public static boolean hasSignal() {
if (RadioInfo.getState() == RadioInfo.STATE_OFF || RadioInfo.getSignalLevel() == RadioInfo.LEVEL_NO_COVERAGE) {
System.out.println(" -- no signal");
return false;
} else {
return true;
}
}
如果您使用的是wifi设备,则需要单独检查wifi(我认为)
public static boolean hasWifi() {
if ( ( RadioInfo.getActiveWAFs() & RadioInfo.WAF_WLAN ) != 0 ) {
return (CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_DIRECT, RadioInfo.WAF_WLAN, true));
} else {
System.out.println(" -- no wifi");
return false;
}
}
我在应用程序中使用了它们,它们似乎可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.