Android 开发工具类 18_NetWorkUtil
2015-05-29 10:47
399 查看
检测网络的一个工具包:
1、网络是否可用;
2、判断是否有网络连接;
3、判断 WIFI 网络是否可用;
4、判断 MOBILE 网络是否可用;
5、获取当前网络连接的类型信息;
6、获取当前的网络状态 -1:没有网络 1:WIFI网络2:wap 网络3:net网络;
NetworkUtil.java
1、网络是否可用;
2、判断是否有网络连接;
3、判断 WIFI 网络是否可用;
4、判断 MOBILE 网络是否可用;
5、获取当前网络连接的类型信息;
6、获取当前的网络状态 -1:没有网络 1:WIFI网络2:wap 网络3:net网络;
import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; /** * @Title NetWorkUtil * @Description 是检测网络的一个工具包 * @author 淡定 */ public class NetWorkUtil { public static enum NetType { WIFI, CMNET, CMWAP, NoneNet } /** * 网络是否可用 * * @param context * @return */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] info = mgr.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } return false; } /** * 判断是否有网络连接 * * @param context * @return */ public static boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null) { return mNetworkInfo.isAvailable(); } } return false; } /** * 判断WIFI网络是否可用 * * @param context * @return */ public static boolean isWifiConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mWiFiNetworkInfo = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (mWiFiNetworkInfo != null) { return mWiFiNetworkInfo.isAvailable(); } } return false; } /** * 判断 MOBILE 网络是否可用 * * @param context * @return */ public static boolean isMobileConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mMobileNetworkInfo = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (mMobileNetworkInfo != null) { return mMobileNetworkInfo.isAvailable(); } } return false; } /** * 获取当前网络连接的类型信息 * * @param context * @return */ public static int getConnectedType(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo(); if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { return mNetworkInfo.getType(); } } return -1; } /** * 获取当前的网络状态 -1:没有网络 1:WIFI网络2:wap 网络3:net网络 * * @param context * @return */ public static NetType getAPNType(Context context) { ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); if (networkInfo == null) { return NetType.NoneNet; } int nType = networkInfo.getType(); if (nType == ConnectivityManager.TYPE_MOBILE) { if (networkInfo.getExtraInfo().toLowerCase().equals("cmnet")) { return NetType.CMNET; } else { return NetType.CMWAP; } } else if (nType == ConnectivityManager.TYPE_WIFI) { return NetType.WIFI; } return NetType.NoneNet; } }
NetworkUtil.java
package com.oliver.tcpsocket; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; public class NetworkUtil { /** *判断wifi是否连接 * @param context * @return */ public static boolean isWiFiConnected(Context context){ ConnectivityManager connectManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connectManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if(networkInfo.isConnected()){ return true; } else{ return false; } } /** * 得到wifi连接的IP地址 * @param context * @return */ public static String getWifiIP(Context context){ WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddr = wifiInfo.getIpAddress(); String ipStr = int2string(ipAddr); return ipStr; } /** * 输入int 得到String类型的ip地址 * @param i * @return */ private static String int2string(int i){ return (i & 0xFF)+ "." + ((i >> 8 ) & 0xFF) + "." + ((i >> 16 ) & 0xFF) +"."+((i >> 24 ) & 0xFF ); } }
相关文章推荐
- 19_利用android提供的HanziToPinyin工具类实现汉字与拼接的转换
- android开发调用照相机
- Android JNI学习之---JNI开发流程
- android_ExpandableListView 下拉列表使用
- Android 创建的video设备
- Android NDK学习 <一> 简介
- Android Parcelable理解与使用(对象序列化)
- Android自定义控件(四)仿网易客户端上拉加载更多
- Android自定义控制(五)仿新浪微博的下拉刷新
- android studio离线更新
- Android开发常用的颜色值
- 一起学android之自定义控件显示点赞用户并通过用户名称进入该用户主页的功能 (40)
- android圆角矩形进度条
- Pro Android学习笔记(一六六):联系人API(9):Personal Profile
- Android逐帧动画,逐帧动画加载图片过多时OOM异常的解决和替代方法
- android SDK Manager 代理服务器设置
- 【Android】Home键问题
- Android ViewPager多页面滑动切换以及动画效果---换view
- Android(第三种动画)属性动画完全解析(上),初识属性动画的基本用法
- Android USB编程