1.整体分析
1.1.源代码如下,可以直接Copy。
public class NetUtil { /** * 用户是否连接网络 * * @param context Context */ public static boolean isNetConnection(Context context) { final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo(); return (networkInfo != null && networkInfo.isAvailable()); } /** * 是否连接Wifi * * @param context Context */ public static boolean isWifiConnection(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (wifiNetworkInfo.isConnected()) { return true; } return false; } }
1.2.主要方法。
- 判断手机是否连接到网络
- 判断手机是否连接到wifi
还有很多适用的方法,以后再遇到了再添加。
2.局部分析
2.1.判断手机是否连接到网络
这里用到了一个系统服务,context.getSystemService(Context.CONNECTIVITY_SERVICE)获取管理器
然后用一个管理器的实例.getActiveNetworkInfo()即可获取网络连接状态信息。
2.2.判断手机是否连接到wifi
判断wifi,其实是在前者的基础上,用管理器.getNetworkInfo(里面是wifi的状态码)
其实一般情况判断网络存在与否就行了,因为网络包括手机数据连接+wifi的。