Android ConnectivityManager网络连接

登录状态:
 @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent intent = null;
        switch (v.getId()) {
            case R.id.btn_login:// 登录
                if(ActivityUtil.isNetworkConnected(this)){     //判断获取的网络连接状态
                    String phone = etUserPhone.getText().toString().trim();
                    String password = etUserPasswd.getText().toString().trim();
//                System.out.println("-onclick-" + mSp.getIsSaveCheckbox());
                    if (mSp.getIsSaveCheckbox()) {
                        mSp.setUserphone(phone);
                    }
                    if (RegexUtil.checkPhone(phone) && RegexUtil.checkPasswrod(password)) {
                        helper.showProgressDialog("登录中...");
                        loginforServer(phone, password);//测试时候去掉注释
                    } else if (false == RegexUtil.checkPhone(phone)) {
                        showToast("手机号格式有误");
                    } else if (false == RegexUtil.checkPasswrod(password)) {
                        showToast("密码格式有误");
                    }
                }else{
                    showToast("无可用网络");
                }
                break;
            case R.id.btRegister:// 注册
                intent = new Intent(this, RegisterActivity.class);
                flag = true;
                break;
            case R.id.btnForgetPass:// 忘记密码
                intent = new Intent(this, ForgetPasswdActivity.class);
                flag = false;
                break;

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。

1)判断是否有网络连接

[java] view plaincopyprint?
  1. public boolean isNetworkConnected(Context context) {  
  2.     if (context != null) {  
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
  5.         NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();  
  6.         if (mNetworkInfo != null) {  
  7.             return mNetworkInfo.isAvailable();  
  8.         }  
  9.     }  
  10.     return false;  
  11. }  


 

2)判断WIFI网络是否可用

[java] view plaincopyprint?
  1. public boolean isWifiConnected(Context context) {  
  2.     if (context != null) {  
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
  5.         NetworkInfo mWiFiNetworkInfo = mConnectivityManager  
  6.                 .getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
  7.         if (mWiFiNetworkInfo != null) {  
  8.             return mWiFiNetworkInfo.isAvailable();  
  9.         }  
  10.     }  
  11.     return false;  
  12. }  

3)判断MOBILE网络是否可用

[java] view plaincopyprint?
  1. public boolean isMobileConnected(Context context) {  
  2.     if (context != null) {  
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
  5.         NetworkInfo mMobileNetworkInfo = mConnectivityManager  
  6.                 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
  7.         if (mMobileNetworkInfo != null) {  
  8.             return mMobileNetworkInfo.isAvailable();  
  9.         }  
  10.     }  
  11.     return false;  
  12. }  


 4)获取当前网络连接的类型信息

[java] view plaincopyprint?
  1. public static int getConnectedType(Context context) {  
  2.     if (context != null) {  
  3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
  4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);  
  5.         NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();  
  6.         if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {  
  7.             return mNetworkInfo.getType();  
  8.         }  
  9.     }  
  10.     return -1;  
  11. }  

你可能感兴趣的:(Android ConnectivityManager网络连接)