public class NetUtil { public static boolean isNetConnected(Context context) { boolean isNetConnected; // 获得网络连接服务 ConnectivityManager connManager = (ConnectivityManager) context.getApplicationContext() .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connManager.getActiveNetworkInfo(); if (info != null && info.isConnected()) { // 判断当前网络是否已经连接 return info.getState() == NetworkInfo.State.CONNECTED; } else { isNetConnected = false; } return isNetConnected; } // Gps是否可用 public static boolean isGpsEnable(Context context) { LocationManager locationManager = ((LocationManager) context .getSystemService(Context.LOCATION_SERVICE)); return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); } // 打开GPS设置页面 public static void openGPSSetting(Context context) { Intent intent = new Intent(); intent.setAction(Settings.ACTION_LOCATION_SOURCE_SETTINGS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { context.startActivity(intent); } catch (ActivityNotFoundException ex) { // The Android SDK doc says that the location settings activity // may not be found. In that case show the general settings. // General settings activity intent.setAction(Settings.ACTION_SETTINGS); try { context.startActivity(intent); } catch (Exception e) { } } } /** * @return * @author suncat * @category 判断是否有外网连接(普通方法不能判断外网的网络是否连接,比如连接上局域网) */ public static final boolean ping() { String result = null; try { String ip = "www.baidu.com";// ping 的地址,可以换成任何一种可靠的外网 Process p = Runtime.getRuntime().exec("ping " + ip);// ping网址3次 -c 3 // -w 100 // ping的状态 int status = p.waitFor(); if (status == 0) { result = "success"; return true; } else { result = "failed"; } } catch (IOException e) { result = "IOException"; } catch (InterruptedException e) { result = "InterruptedException"; } finally { Log.d("----result---", "result = " + result); } return false; } /** * 验证wifi是否连接 * * @param context * @return true-连接;false-未连接 */ public static final boolean isWifiConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); return connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnected(); } /** * 判断是否为WIFI网络 * * @param context * @return */ public static final boolean isWifi(Context context) { ConnectivityManager cm = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkINfo = cm.getActiveNetworkInfo(); if (networkINfo != null && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) { return true; } return false; } }
工具类--NetUtil 判断网络状态
最新推荐文章于 2022-03-31 14:31:36 发布