Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Android-验证网络是否可用

ConnectivityManager主要管理和网络连接相关的操作,NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着连接成功与否等状态。CONNECTED
Detailed stateCoarse-grained state
IDLEDISCONNECTED
SCANNINGCONNECTING
CONNECTINGCONNECTING
AUTHENTICATINGCONNECTING
CONNECTED
DISCONNECTINGDISCONNECTING
DISCONNECTEDDISCONNECTED
UNAVAILABLEDISCONNECTED
FAILEDDISCONNECTED
       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网络已连接");  
 } 
  1. //判断网络是否可用   
  2.   
  3. public static boolean isNetworkAvaiable(Context context){  
  4.     ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);  
  5.     NetworkInfo info = connectivityManager.getActiveNetworkInfo(); // 获取代表联网状态的NetWorkInfo对象     
  6.     return (info != null && info.isConnected());  
  7. }  
  8.   
  9. //判断WIFI是否可用   
  10.   
  11. public static boolean isWifiActive(Context context){  
  12.       
  13.     ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);  
  14.     NetworkInfo[] info = connectivityManager.getAllNetworkInfo();  
  15.     if(info!=null){  
  16.         forint i=0;i<info.length;i++){  
  17.             //   
  18.             if(info[i].getTypeName().equals(ConnectivityManager.TYPE_WIFI)&& info[i].isConnected())  
  19.                 return true;  
  20.         }  
  21.     }  
  22.     return false;  
  23. }  
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"/>"更多Android相关信息见Android 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11