1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/** 
  * 测试ConnectivityManager 
  * ConnectivityManager主要管理和网络连接相关的操作 
  * 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。 
  * 想访问网络状态,首先得添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着 
  * 连接成功与否等状态。 
  *  
  */  
 public void testConnectivityManager() {  
  ConnectivityManager connManager = (ConnectivityManager) this  
    .getSystemService(CONNECTIVITY_SERVICE);  
  // 获取代表联网状态的NetWorkInfo对象  
  NetworkInfo networkInfo = connManager.getActiveNetworkInfo();  
  // 获取当前的网络连接是否可用  
  boolean available = networkInfo.isAvailable();  
  if(available){  
   Log.i("通知""当前的网络连接可用");  
  }  
  else{  
   Log.i("通知""当前的网络连接可用");  
  }  
   
  State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
  if(State.CONNECTED==state){  
   Log.i("通知""GPRS网络已连接");  
  }  
     
  state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
  if(State.CONNECTED==state){  
   Log.i("通知""WIFI网络已连接");  
  }  
     
  // 跳转到无线网络设置界面  
  startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
  // 跳转到无限wifi网络设置界面  
  startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));  
     
 }

android中判断网络连接是否可用

一、判断网络连接是否可用

  1. public static boolean isNetworkAvailable(Context context) {

  2. ConnectivityManager cm = (ConnectivityManager) context

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);

  4. if (cm == null) {

  5. } else {

  6.        //如果仅仅是用来判断网络连接

  7.         //则可以使用 cm.getActiveNetworkInfo().isAvailable();

  8. NetworkInfo[] info = cm.getAllNetworkInfo();

  9. if (info != null) {

  10. for (int i = 0; i < info.length; i++) {

  11. if (info[i].getState() == NetworkInfo.State.CONNECTED) {

  12. return true;

  13. }

  14. }

  15. }

  16. }

  17. return false;

  18. }

二、判断GPS是否打开

  1. public static boolean isGpsEnabled(Context context) {

  2. LocationManager lm = ((LocationManager) context

  3. .getSystemService(Context.LOCATION_SERVICE));

  4. List accessibleProviders = lm.getProviders(true);

  5. return accessibleProviders != null && accessibleProviders.size() > 0;

  6. }

三、判断WIFI是否打开

  1. public static boolean isWifiEnabled(Context context) {

  2. ConnectivityManager mgrConn = (ConnectivityManager) context

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);

  4. TelephonyManager mgrTel = (TelephonyManager) context

  5. .getSystemService(Context.TELEPHONY_SERVICE);

  6. return ((mgrConn.getActiveNetworkInfo() != null && mgrConn

  7. .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel

  8. .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);

  9. }

四、判断是否是3G网络

  1. public static boolean is3rd(Context context) {

  2. ConnectivityManager cm = (ConnectivityManager) context

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);

  4. NetworkInfo networkINfo = cm.getActiveNetworkInfo();

  5. if (networkINfo != null

  6. && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {

  7. return true;

  8. }

  9. return false;

  10. }

五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

    1. public static boolean isWifi(Context context) {

    2. ConnectivityManager cm = (ConnectivityManager) context

    3. .getSystemService(Context.CONNECTIVITY_SERVICE);

    4. NetworkInfo networkINfo = cm.getActiveNetworkInfo();

    5. if (networkINfo != null

    6. && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {

    7. return true;

    8. }

    9. return false;

    10. }

 

5、android ConnectivityManager获取网络状态的更多相关文章

  1. android开发获取网络状态,wifi,wap,2g,3g.工具类(一)

    android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.Con ...

  2. android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理

    代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...

  3. Android获取网络状态

    Android获取网络状态 学习自 https://developer.android.google.cn/reference/android/net/ConnectivityManager http ...

  4. Android开发——监听Android手机的网络状态

    0. 前言 在Android开发中监听手机的网络状态是一个常见的功能,比如在没网的状态下进行提醒并引导用户打开网络设置,或者在非wifi状态下开启无图模式等等.因此本篇将网上的资料进行了整理总结,方便 ...

  5. React Native之Fetch简单封装、获取网络状态

    1.Fetch的使用 fetch的使用非常简单,只需传入请求的url fetch('https://facebook.github.io/react-native/movies.json'); 当然是 ...

  6. [React Native]获取网络状态

    使用React Native,可以使用NetInfo API获取手机当前的各个网络状态. componentWillMount() { NetInfo.fetch().done((status)=&g ...

  7. iOS 获取网络状态

    在iOS开发者,获取网络状态比较常用 -(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplicat ...

  8. 微信小程序 --- 获取网络状态

    获取网络状态:wx.getNetworkType btnclick:function(){ wx.getNetworkType({ success:function(res){ console.log ...

  9. C#获取网络状态

    /// <summary> /// 获取网络状态 /// </summary> /// <param name="ip">目标IP地址</ ...

随机推荐

  1. 《Vuser虚拟用户开发》读书笔记

    学会了Vuser开发只是算了性能测试入了门.要做好性能测试还需要了解系统的功能,架构和设计测试用例. 脚本选用什么协议的依据是需要模拟的客户端与服务器之间的通信采用什么协议.与具体的开发技术并无直接的 ...

  2. 如何反编译DLL文件

    1.利用反编译器,多种工具,本次选用Reflector 8.5. 2.界面如下:

  3. 【转】SVN的dump文件导入

    转载地址:http://erniu.sz.blog.163.com/blog/static/11517292220103282813176/ 把SVN的dump文件导入SVN数据库的方法: 在SVN ...

  4. zigbee学习之路(八):定时器1(中断)

    一.前言 通过上次的实验,我们已经学会了定时器3的中断方式,这次,我们来看看定时器1通过中断怎么控制. 二.原理分析 定时器1的初始化跟前面提到的一样,也是要配置寄存器T1CTL,还要进行开中断的操作 ...

  5. CentOS 7下关于systemd的一些唠叨话一:systemd的特点和使用

    摘要 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版 ...

  6. ArrayBlockingQueue

    ArrayBlockingQueue是阻塞队列的一种,基于数组实现,长度固定,队尾添加,队首获取, 构造函数: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font ...

  7. Maven学习(二) -- 坐标和依赖

    标签(空格分隔): 学习笔记 坐标 实际就像在几何中,我们用一对坐标(x, y)来表示坐标系中唯一的点:或者我们可以用(经度,纬度)来表示地球上的某一个位置,在Maven的世界中,有坐标来唯一的表示项 ...

  8. Java 集合 - ArrayList

    源码分析 属性 // 默认的初始化容量 private static final int DEFAULT_CAPACITY = 10; // 用于无参构造中初始化一个空数组 private stati ...

  9. web缓存

    web缓存HTTP协议的一个核心特性,它能最小化网络流量,并且提升用户所感知的整个系统响应速度. 什么能被缓存? *Logo和商标图像 *普通的不变化的图像(例如,导航图标) *CSS样式表 *普通的 ...

  10. RedHat3.4安装GIT

    1.首先到官网上下载git包,地址为http://git-scm.com/download 注意:选择下载Older releases 2.输入命令tar zxvf git-1.7.9.4.tat.g ...