文档章节

ConnectivityManager获取网络状态

骑牛找牛
 骑牛找牛
发布于 2014/02/01 20:42
字数 488
阅读 729
收藏 6
/** 
  * 测试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.         } 


© 著作权归作者所有

上一篇: android数据库
骑牛找牛
粉丝 2
博文 28
码字总数 29263
作品 0
常德
私信 提问
安卓中判断网络连接状态的方法

1)判断是否有网络连接 1publicboolean isNetworkConnected(Context context) { 2if (context != null) { 3 ConnectivityManager mConnectivityManager = (ConnectivityManager) context 4 ......

风吹翠竹
2014/05/05
0
0
Android开发_判断网络连接是否可用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangty0223/article/details/10286361 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判...

张腾元_Ternence
2013/08/24
0
0
自定义BroadcastReceiver使用监听网络状态变化

辞职了,一直忙的也没时间写东西,荒废了还久,上班期间也没有时间做自己的小东西。终于在投简历的时间缝隙里,可以做自己的东西,写自己的博客了。废话不多说,直奔主题吧。在做一款联网的项...

烧酒二两
2016/03/05
100
0
【Android 】注册广播,实时监听网络连接与断开状态变化

有的时候我们在写项目的时候,需要监听网络的变化,来做一些事情,需要处理一些业务逻辑等事情。 今天查看了一些帖子资料,写一个demo来记录一下自己的笔记,以便自己在以后使用的时候,能更...

定陶黄公子
2016/12/06
68
0
BroadCastReceiver(广播接收者)动态注册简单例子

//实现有无网络监听 动态注册方式特点: 在代码中进行注册后, 当应用程序关闭后, 就不再进行监听。 //源文件2个一个MainActivity.java和NetStateReceiver.java类 //记得在配置清单里添加网...

初来小修
2016/02/16
51
0

没有更多内容

加载失败,请刷新页面

加载更多

Java 文件类操作API与IO编程基础知识

阅读目录: https://www.w3cschool.cn/java/java-io-file.html Java 文件 Java 文件 Java 文件操作 Java 输入流 Java 输入流 Java 文件输入流 Java 缓冲输入流 Java 推回输入流 Java 数据输入...

boonya
43分钟前
5
0
SDKMAN推荐一个好

是在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API来安装,切换,删除和列出sdk相关信息。以下是一些特性: By Developers, fo...

hotsmile
今天
9
0
什么是 HDFS

是什么? HDFS 是基于 Java 的分布式文件系统,允许您在 Hadoop 集群中的多个节点上存储大量数据。 起源: 单机容量往往无法存储大量数据,需要跨机器存储。统一管理分布在集群上的文件系统称...

Garphy
今天
7
0
一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。 Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函...

猿敲月下码
今天
11
0
debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部