package Abstract; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.SupplicantState; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import android.preference.PreferenceManager; import android.util.Log; import static activities.Activity_Main.context; /** * Created by tiki on 09/01/2017. */ public class Connectivity { public static boolean on_prefered_Wifi = false; public static boolean on_other_network = false; static String mytag = "Connectivity"; public static boolean IsInternetAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) (context.getSystemService(Context.CONNECTIVITY_SERVICE)); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); NetworkInfo[] netInfo = connectivityManager.getAllNetworkInfo(); for (NetworkInfo ni : netInfo) { if (ni.getTypeName().equalsIgnoreCase("MOBILE")) if (ni.isConnected()) { on_other_network = true; } if (ni.getTypeName().equalsIgnoreCase("WIFI")) if (ni.isConnected()) { WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE); WifiInfo wifiInfo; wifiInfo = wifiManager.getConnectionInfo(); if (wifiInfo.getSupplicantState() == SupplicantState.COMPLETED) { String ssid = wifiInfo.getSSID().replace("\"", ""); String prefered_wifi = PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext()).getString("prefered_wifi_ssid", ""); if (ssid.equals(prefered_wifi)) { on_prefered_Wifi = true; } else { on_prefered_Wifi = false; } //handle the case where user do not set is local SSID in options if (prefered_wifi.equals("")) { on_prefered_Wifi = true; } } } } return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting(); } }