Android 所有的网络信息 NetworkInfo

获取 Android 的网络信息,需要使用 ConnectivityManager 这个类。转载请注明来自:http://www.binkery.com/

 

Class that answers queries about the state of network connectivity. It also notifies applications when network connectivity changes. Get an instance of this class by calling Context.getSystemService(Context.CONNECTIVITY_SERVICE).转载请注明来自:http://www.binkery.com/

 

The primary responsibilities of this class are to:转载请注明来自:http://www.binkery.com/

 

  1.  
  2. Monitor network connections (Wi-Fi, GPRS, UMTS, etc.)转载请注明来自:http://www.binkery.com/
  3.  
  4. Send broadcast intents when network connectivity changes转载请注明来自:http://www.binkery.com/
  5.  
  6. Attempt to "fail over" to another network when connectivity to a network is lost转载请注明来自:http://www.binkery.com/
  7.  
  8. Provide an API that allows applications to query the coarse-grained or fine-grained state of the available networks转载请注明来自:http://www.binkery.com/

    ConnectivityManager mManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo[] infos = mManager.getAllNetworkInfo();转载请注明来自:http://www.binkery.com/

  9.  

 

通过上面的代码,能获取到一个 NetworkInfo 的数组,除了咱们关心的 wifi 和 mobile 外,还有一些特殊的网络链接。转载请注明来自:http://www.binkery.com/

 

  •  
  • "MOBILE";//移动数据连接,不能与连接共存,如果wifi打开,则自动关闭
  •  
  • "WIFI";//wifi服务,当激活时,默认情况下,所有的数据流量将使用此连接。
  •  
  • "MOBILE_MMS";//运营商的多媒体消息服务
  •  
  • "MOBILE_SUPL";//平面定位特定移动数据连接
  •  
  • "MOBILE_DUN";//网络桥接,很老的一个网络
  •  
  • "MOBILE_HIPRI";//高优先级的移动数据连接。相同的为{TYPE_MOBILE},但路由的设置是不同的。只有请求的进程将有机会获得移动的DNS服务器。
  •  
  • "WIMAX";//全球互通微波存取数据连接
  •  
  • "BLUETOOTH";//蓝牙
  •  
  • "DUMMY";//虚拟连接
  •  
  • "ETHERNET";//以太网
  •  
  • "MOBILE_FOTA";
  •  
  • "MOBILE_IMS";
  •  
  • "MOBILE_CBS";
  •  
  • "WIFI_P2P";//通过wifi直连wifi
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要获取 Android 设备的网络信息,可以使用以下代码: ``` ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) { // 获取网络类型 int type = activeNetworkInfo.getType(); // 获取网络名称 String name = activeNetworkInfo.getTypeName(); // 获取网络状态 boolean isConnected = activeNetworkInfo.isConnected(); // 获取网络是否可用 boolean isAvailable = activeNetworkInfo.isAvailable(); // 获取网络是否漫游 boolean isRoaming = activeNetworkInfo.isRoaming(); // 获取网络详细信息 NetworkInfo.DetailedState detailedState = activeNetworkInfo.getDetailedState(); // 获取网络Extra信息 Bundle extras = activeNetworkInfo.getExtras(); } ``` 其中,`ConnectivityManager` 是 Android 系统中管理网络连接的类,`getSystemService(Context.CONNECTIVITY_SERVICE)` 方法可以获取该类的实例,`getActiveNetworkInfo()` 方法可以获取当前活动的网络信息。获取到网络信息之后,可以通过 `getType()` 方法获取网络类型,通过 `getTypeName()` 方法获取网络名称,通过 `isConnected()` 方法获取网络状态,通过 `isAvailable()` 方法获取网络是否可用,通过 `isRoaming()` 方法获取网络是否漫游,通过 `getDetailedState()` 方法获取网络详细状态,通过 `getExtras()` 方法获取网络 Extra 信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值