网络状态(ConnectivityManager)

作用:网络连接管理者

在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;
    }
}


 







你可能感兴趣的:(newnewandroid)