Android ConnectivityManager网络连接

来源:互联网 发布:apache beam入门 编辑:程序博客网 时间:2024/06/10 20:34
登录状态:
 @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. }  
0 0
原创粉丝点击