判断是否连接网络

一、

判断wifi网络是否链接

public static boolean isWiFiActive(Context inContext) {
         WifiManager mWifiManager = (WifiManager) inContext
         .getSystemService(Context.WIFI_SERVICE);
         WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
         int ipAddress = wifiInfo == null ? 0 : wifiInfo.getIpAddress();
         if (mWifiManager.isWifiEnabled() && ipAddress != 0) {
         System.out.println("**** WIFI is on");
             return true;
         } else {
             System.out.println("**** WIFI is off");
             return false;   
         }
}


判断3G网络是否链接

 public static boolean isNetworkAvailable( Context context) {
        ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
                if (connectivity == null) {
                      System.out.println("**** newwork is off");
                        return false;
                } else {
                        NetworkInfo info = connectivity.getActiveNetworkInfo();
                        if(info == null){
                              System.out.println("**** newwork is off");
                                return false;
                        }else{
                                if(info.isAvailable()){
                                      System.out.println("**** newwork is on");
                                        return true;
                                }
                              
                        }
                }
                  System.out.println("**** newwork is off");
        return false;
    }


相关权限

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

转载自:http://www.cnblogs.com/mmll/articles/2043172.html


二、

在android中判断是否有网络连接
注意:网络类型是3g 或者 wifi
在3g或者wifi类型的网络下做一些更新操作

public boolean isConnecting()
    {
        ConnectivityManager mConnectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
        TelephonyManager mTelephony = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);

        NetworkInfo info = mConnectivity.getActiveNetworkInfo();

        if(info == null || !mConnectivity.getBackgroundDataSetting())
        {
         return false;
        }
       
        int netType = info.getType();    
        int netSubtype = info.getSubtype();

        if(netType == ConnectivityManager.TYPE_WIFI)
        {       
         return info.isConnected();    
        }
        else if(netType == ConnectivityManager.TYPE_MOBILE && netSubtype ==TelephonyManager.NETWORK_TYPE_UMTS && !mTelephony.isNetworkRoaming())
        {       
         return info.isConnected();    
        }
        else
        {       
         return false;    
        }
    }
转载自: http://www.eoeandroid.com/thread-81511-1-1.html


三、

在开发过程中,尤其是在开发网络应用的时候,时常要判断手机的联网状态,及时的给用户友善的提示。我们登录market,在网络断开的时候会及时的弹出警告窗口,避免用户盲目的等待。

这样的判断要贯穿在整个应用当中,在用户切换Activity,或者是后台service运行的时候都可能要用到。所以我们可以将判断的逻辑封装成一个方法,让其他Activity/service公用。

public static boolean isNetworkAvailable( Activity mActivity ) {  
    Context context = mActivity.getApplicationContext(); 
    ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity == null) {     
      return false; 
    } else {   
        NetworkInfo[] info = connectivity.getAllNetworkInfo();     
        if (info != null) {         
            for (int i = 0; i < info.length; i++) {            
                if (info[i].getState() == NetworkInfo.State.CONNECTED) {               
                    return true;  
                }         
            }      
        }  
    }    
    return false; 
} 
  
/** 
   * 检测网络是否存在 
   */ 
  public static void HttpTest(final Activity mActivity) 
  { 
    if( !isNetworkAvailable( mActivity) ){ 
      AlertDialog.Builder builders = new AlertDialog.Builder(mActivity); 
      builders.setTitle("抱歉,暂时无法处理您的请求"); 
      LayoutInflater _inflater = LayoutInflater.from(mActivity); 
      View convertView = _inflater.inflate(R.layout.error,null); 
      builders.setView(convertView); 
      builders.setPositiveButton("确定",  new DialogInterface.OnClickListener(){ 
        public void onClick(DialogInterface dialog, int which) 
        { 
          mActivity.finish(); 
        }        
      }); 
      builders.show(); 
    } 
  }


这样我们在Activity的onCreate的时候或者onResume 的时候就只需要 调用这个方法。将当前的Activity.this当做参数传进去即可。

需要在AndroidManifest.xml中
增加权限:

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

转载于:http://blog.csdn.net/vinuslong/article/details/6542552


四、

public static boolean isNetWorkAvailable(Context context) {
	      ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
	      NetworkInfo info = cm.getActiveNetworkInfo();
	      return info != null && info.isConnected();
    }

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

转载于:http://javalover00000.iteye.com/blog/1067338

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值