Android工具类-关于网络、状态的工具类
2013-10-31 10:13
260 查看
下方是一个很好的监测网络、状态的工具类
以上方法均通过测试,tv_result为自设定的TextView。
public class NetworkUtils { /** * 网络是否可用 * * @param activity * @return */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; } /** * Gps是否打开 * * @param context * @return */ public static boolean isGpsEnabled(Context context) { LocationManager locationManager = ((LocationManager) context .getSystemService(Context.LOCATION_SERVICE)); List<String> accessibleProviders = locationManager.getProviders(true); return accessibleProviders != null && accessibleProviders.size() > 0; } /** * wifi是否打开 */ public static boolean isWifiEnabled(Context context) { ConnectivityManager mgrConn = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mgrTel = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); return ((mgrConn.getActiveNetworkInfo() != null && mgrConn .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS); } /** * 判断当前网络是否是wifi网络 * if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) { * * @param context * @return boolean */ public static boolean isWifi(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) { return true; } return false; } /** * 判断当前网络是否3G网络 * * @param context * @return boolean */ public static boolean is3G(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetInfo != null && activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) { return true; } return false; } }
以上方法均通过测试,tv_result为自设定的TextView。
tv_result.append("网络是否可用:"+NetworkUtils.isNetworkAvailable(MainActivity.this)+"\n"); tv_result.append("GPS开关是否打开:"+NetworkUtils.isGpsEnabled(MainActivity.this)+"\n"); tv_result.append("是否为3G网络:"+NetworkUtils.is3G(MainActivity.this)+"\n"); tv_result.append("WIFI是否打开:"+NetworkUtils.isWifiEnabled(MainActivity.this)+"\n"); tv_result.append("是否为WIFI网络:"+NetworkUtils.isWifi(MainActivity.this)+"\n");
相关文章推荐
- Android工具类-关于网络、状态的工具类
- Android工具类-关于网络、状态的工具类
- Android:判断用户网络状态的Kotlin工具类
- Android手机监视网络状态的变化--关于权限的一个小问题
- android检查网络状态工具类
- Android网络状态判断工具类(全)
- Android 获取网络状态的工具类
- 关于android的广播机制里面的网络状态监听 (Fragment实现)
- Android 工具类 —— 判断网络连接状态、GPS是否打开、基站信息和手机IMSI码
- 关于网络状态改变监听广播的使用(android不同系统版本会有不同)
- 关于android广播包监听网络状态变化收到java.lang.NullPointerException: Error receiving broadcast Intent
- 【Android 网络】关于android 网络连接状态的一些代码
- Android-->分享工具类:判断网络状态,网络类型,获取网络IP(包括GSM IP)
- Android判断网络状态的工具类
- Android检查网络状态工具类详解
- 有一个坑关于android网络
- android 监听网络状态的变化及实战
- android之网络状态判断(wifi和移动网络数据)
- Android 判断网络连接状态
- Android 关于判断应用是否有网络