作用:网络连接管理者
在Android6.0系统上,如果这里的Context如果是Activity的实例,那么即使你什么也不干也会造成内存泄漏。
获取系统服务getSystemService时使用ApplicationContext
1:监听网络连接
2:当网络状态发生变化的时候会发送广播
NetWorkConnectionReceiver
ConnectivityManager.CONNECTIVITY_ACTION 网络连接上的action
WifiManager.RSSI_CHANGED_ACTION wifi信号变化的action
WifiManager.EXTRA_NEW_RSSI
网络3:当连接到一个网络断开时,会尝试连接到其他网络
4:可以提供应用api查询到可用网络的详细信息
5:提供一个API,允许应用程序请求和选择其数据流量的网络。
NetworkInfo 网络信息详情
获取:
ConnectivityManager
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
private static int getNetType(Context context) { final ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetInfo != null && activeNetInfo.isConnected()) { return activeNetInfo.getType(); } else { return -1; } }