Search code examples
libgdxandroid-wifiandroid-networking

Check network state in libGDX


I would like to check Wifi stat in a libGDX project, tried to use code below:

   Gdx.net.sendHttpRequest(HttpRequest httpRequest, HttpResponseListener httpResponseListener);

    HttpResponseListener httpResponseListener = new  httpResponseListener() {
        public void handleHttpResponse (HttpResponse httpResponse) {
            HttpStatus status = httpResponse.getStatus();
            if (status.getStatusCode() >= 200 && status.getStatusCode() < 300) {
                // it was successful
            } else {
                // do something else
            }
        }
    }

I added permissions:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

It says HttpResponseListener cannot resolved. How should I fix this?


Solution

  • // there is a small 'h' here, which is wrong ---v
    HttpResponseListener httpResponseListener = new httpResponseListener() {
        public void handleHttpResponse (HttpResponse httpResponse) {
            HttpStatus status = httpResponse.getStatus();
            if (status.getStatusCode() >= 200 && status.getStatusCode() < 300) {
                // it was successful
            } else {
                // do something else
            }
        }
    }
    
    // here, you still have the parameter types
    Gdx.net.sendHttpRequest(HttpRequest httpRequest, HttpResponseListener httpResponseListener);
    // this is correct
    Gdx.net.sendHttpRequest(httpRequest, httpResponseListener);
    

    Besides this, this probably won't work. If there is no internet connection, you will not get a response from the server. You have to override HttpResponseListener.failed().