diff --git a/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java b/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java index 6760302..ea2f7bf 100644 --- a/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java +++ b/src/android/com/silkimen/cordovahttp/CordovaHttpPlugin.java @@ -16,6 +16,9 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import android.content.Context; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.util.Log; import android.util.Base64; @@ -67,6 +70,15 @@ public class CordovaHttpPlugin extends CordovaPlugin implements Observer { return false; } + if(!isNetworkAvailable()) { + CordovaHttpResponse response = new CordovaHttpResponse(); + response.setStatus(-6); + response.setErrorMessage("Not Connected"); + callbackContext.error(response.toJSON()); + + return true; + } + if ("get".equals(action)) { return this.executeHttpRequestWithoutData(action, args, callbackContext); } else if ("head".equals(action)) { @@ -249,4 +261,12 @@ public class CordovaHttpPlugin extends CordovaPlugin implements Observer { } } } + + private boolean isNetworkAvailable() { + ConnectivityManager connectivityManager + = (ConnectivityManager) cordova.getContext().getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); + + return activeNetworkInfo != null && activeNetworkInfo.isConnected(); + } }