繁体   English   中英

如何在Blackberry SDK中检查活动的Internet连接?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM