博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android-验证网络是否可用
阅读量:6241 次
发布时间:2019-06-22

本文共 1724 字,大约阅读时间需要 5 分钟。

ConnectivityManager主要管理和网络连接相关的操作,NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着连接成功与否等状态。

CONNECTED

Detailed state Coarse-grained state
IDLE DISCONNECTED
SCANNING CONNECTING
CONNECTING CONNECTING
AUTHENTICATING CONNECTING
CONNECTED
DISCONNECTING DISCONNECTING
DISCONNECTED DISCONNECTED
UNAVAILABLE DISCONNECTED
FAILED DISCONNECTED
       State state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
 if(State.CONNECTED==state){  
  Log.i("TAG", "GPRS网络已连接");  
 }  
   
 state = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
 if(State.CONNECTED==state){  
  Log.i("TAG“, "WIFI网络已连接");  
 } 
//判断网络是否可用 public static boolean isNetworkAvaiable(Context context){ ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE); NetworkInfo info = connectivityManager.getActiveNetworkInfo(); // 获取代表联网状态的NetWorkInfo对象 return (info != null && info.isConnected()); } //判断WIFI是否可用 public static boolean isWifiActive(Context context){ ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE); NetworkInfo[] info = connectivityManager.getAllNetworkInfo(); if(info!=null){ for(int i=0;i<info.length;i++){ // if(info[i].getTypeName().equals(ConnectivityManager.TYPE_WIFI)&& info[i].isConnected()) return true; } } return false; }

ConnectivityManager.TYPE_WIFI 表示wifi连接

ConnectivityManager.TYPE_MOBILE 表示3G连接

网络设置Intent:

new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS)   // 跳转到无线网络设置界面 

new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS) // 跳转到无线wifi网络设置界面 

最后别忘了在mainifest文件中加上权限:

"<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>"

转载地址:http://rbdia.baihongyu.com/

你可能感兴趣的文章
SpringMVC+Hibernate+Junit4+json基本框架近乎0配置
查看>>
Pro Android学习笔记(一三七):Home Screen Widgets(3):配置Activity
查看>>
Hadoop学习笔记(九)HDFS架构分析
查看>>
DB2数据库常用基本操作命令
查看>>
RHEL5.8安装Sybase 15.7_x86_64
查看>>
函数适配器bind2nd 、mem_fun_ref 源码分析、函数适配器应用举例
查看>>
武汉科技大学ACM :1002: A+B for Input-Output Practice (II)
查看>>
extjs中form.reset(true)出现的bug修复
查看>>
Some Android functions
查看>>
ORB-SLAM2学习4 initializer.h
查看>>
正向代理和反向代理
查看>>
1092 回文字符串(LCSL_DP)
查看>>
day01-Python介绍,安装,idea
查看>>
AX函数,将EXCEL列号转为列名
查看>>
UNDO -- Concept
查看>>
养生《一》
查看>>
es6的模块化--AMD/CMD/commonJS/ES6
查看>>
DevStack部署Openstack环境
查看>>
新年最新的100句超牛的语言(转)
查看>>
Chromium Graphics: Graphics and Skia
查看>>