安卓 新版本 获取wifi状态网络是否可用等
写下这篇文章目的:当我学习的和百度看看如何获取网络状态 发现都是一些比较老的方法 API23已结过时 所以在此写下记录 ,我不明白国内为什么那么少
那么我们来看看旧方法
package com.chengxinet.bobo.utils;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.telephony.TelephonyManager;
/**
 * Created by Administrator on 2016/1/7.
 */
public class NetworkUtils {
  public static boolean isNetworkAvailable(Context c) {
    Context context = c.getApplicationContext();
    // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivityManager == null) {
      return false;
    } else {
      // 获取NetworkInfo对象
      NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
      if (networkInfo != null && networkInfo.length > 0) {
        for (NetworkInfo aNetworkInfo : networkInfo) {
//          System.out.println(i + "===状态===" + networkInfo[i].getState());
//          System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
          // 判断当前网络状态是否为连接状态
          if (aNetworkInfo.getState() == NetworkInfo.State.CONNECTED) {
            return true;
          }
        }
      }
    }
    return false;
  }
  /**
   * 判断WIFI是否打开
   * @param context
   * @return
   */
  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);
  }
  /**
   * 判断是否是3G网络
   * @param context
   * @return
   */
  public static boolean is3rd(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context
        .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkINfo = cm.getActiveNetworkInfo();
    if (networkINfo != null
        && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {
      return true;
    }
    return false;
  }
  /**
   * 判断是wifi还是3g网络
   * @param context
   * @return
   */
  public static boolean isWifi(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context
        .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkINfo = cm.getActiveNetworkInfo();
    if (networkINfo != null
        && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {
      return true;
    }
    return false;
  }
}来看看新方法吧
public class ConnectionDetector {
private Context _context;
public ConnectionDetector(Context context) {
    this._context = context;
}
public boolean isConnectingToInternet() {
    ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        Network[] networks = connectivity.getAllNetworks();
        NetworkInfo networkInfo;
        for (Network mNetwork : networks) {
            networkInfo = connectivity.getNetworkInfo(mNetwork);
            if (networkInfo.getState().equals(NetworkInfo.State.CONNECTED)) {
                return true;
            }
        }
    } else {
        if (connectivity != null) {
            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;
}}安卓 新版本 获取wifi状态网络是否可用等的更多相关文章
- android获取/更改gps和WIFI状态
		一.WIFI状态的获取和更改 适用于 SDK1.0 , SDK1.5 1.获取WIFI状态 方法1:通过WifiManager进行操作 1WifiManager wifiManager = (Wifi ... 
- android获取系统wifi状态等
		WIFI 获取WIFI状态 WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); ... 
- ios如何获取手机的网络状态和运营商名称
		本文转载至 http://blog.csdn.net/justinjing0612/article/details/38313747 以前获取手机的网络状态和运营商名称都是似有API, 现在我们可以大 ... 
- Android检测网络状态,判断当前网络是否可用
		用户手机当前网络可用:WIFI.2G/3G网络,用户打开与不打开网络,和是否可以用是两码事.可以使用指的是:用户打开网络了并且可以连上互联网进行上网. 检测当前网络是否可用,代码如下: /** * 检 ... 
- Android检测网络是否可用并获取网络类型
		在类中使用getSystemService的时候需要这样进行使用:1. public class JajaMenu extends Activity { public static JajaMenu ... 
- C# 获取电脑的网络连接状态
		判断连网的方法介绍 1. InternetGetConnectedState 此函数获取网络状态有延时,且对网卡伤害较大 MSDN官方自己推荐不建议使用,不管是连网状态下还是断网情况下,获取的网络状态 ... 
- (电脑连不上热点)电脑连上了WIFI,但是显示网络不可用怎么办?
		假如WIFI没有问题的话,那这个就是电脑网络堵塞的问题了,下面是解决的办法: 情况一 1.首先win键+R打开运行框,输入cmd 2.然后在命令行输入 ipconfig -release ipconf ... 
- 系统编程-网络-tcp客户端服务器编程模型(续)、连接断开、获取连接状态场景
		相关博文: 系统编程-网络-tcp客户端服务器编程模型.socket.htons.inet_ntop等各API详解.使用telnet测试基本服务器功能 接着该上篇博文,咱们继续,首先,为了内容的完整性 ... 
- Android中判断当前网络是否可用
		转载原文地址:http://www.cnblogs.com/renqingping/archive/2012/10/18/Net.html 当前有可用网络,如下图: 当前没有可用网络,如下图: 实现步 ... 
随机推荐
- 搭建自己的maven私服 必过
			教你一步一步搭建自己的maven私服 一. 应用场景 有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私 ... 
- [LeetCode] IPO 上市
			Suppose LeetCode will start its IPO soon. In order to sell a good price of its shares to Venture Cap ... 
- volatile 到i++ 原子操作 详解
			1.可见性(Visibility) 可见性是指,当一个线程修改了某一个全局共享变量的数值,其他线程是否能够知道这个修改. 显然,在串行程序来说可见性的问题是不存在的.因为你在任何一个地方操作修改了某个 ... 
- wifi 破解笔记
			最近小夜刚刚学习了无线WiFi的密码破解,感觉很神奇,不过以下操作都是作为学习测试的内容进行的,希望志同道合的小伙伴切不要触碰法律的红线哦! 话不多说,直接上硬菜. 实验环 ... 
- [SDOI2017]序列计数
			题目描述 Alice想要得到一个长度为nn的序列,序列中的数都是不超过mm的正整数,而且这nn个数的和是pp的倍数. Alice还希望,这nn个数中,至少有一个数是质数. Alice想知道,有多少个序 ... 
- [AHOI2005]洗牌
			题目描述 为了表彰小联为Samuel星球的探险所做出的贡献,小联被邀请参加Samuel星球近距离载人探险活动. 由于Samuel星球相当遥远,科学家们要在飞船中度过相当长的一段时间,小联提议用扑克牌打 ... 
- 【BZOJ4003】【JLOI2015】城池攻占
			Description 小铭铭最近获得了一副新的桌游,游戏中需要用 m 个骑士攻占 n 个城池.这 n 个城池用 1 到 n 的整数表示.除 1 号城池外,城池 i 会受到另一座城池 fi 的管辖,其 ... 
- 【AHOI2005】病毒检测
			题目描述 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地. 科学家们经过几 ... 
- ●BZOJ 4559 [JLoi2016]成绩比较
			题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4559 题解: 计数dp,拉格朗日插值法.真的是神题啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 ... 
- hdu 1043(经典搜索)
			题意: 给你一个初始的图,然后每次输入一个图,要求移动x最小的步数达到和初始图一样,输出路径 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 5 6 7 8 5 6 7 8 5 6 7 ... 
