Android 获取网络相关信息

来源:互联网 发布:人工智能视觉识别 编辑:程序博客网 时间:2024/05/22 13:35

1. 检查网络是否可用

/*** 检查当前网络*/public boolean checkNetwork() {    ConnectivityManager connect = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);    NetworkInfo net = connect.getActiveNetworkInfo();    if (net != null && net.isConnected()) {          return true;    }    return false;}

2.检查wifi是否可用

/*** 检查wifi是否可用*/public boolean isWifiConnected(Context context) {    if (context != null) {          ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);          NetworkInfo mWiFiNetworkInfo = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);          if (mWiFiNetworkInfo != null) {                return mWiFiNetworkInfo.isAvailable();          }    }    return false;}

3.检查移动网络是否可用

/*** 检查移动网络是否可用*/public boolean isMobileConnected(Context context) {    if (context != null) {          ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);          NetworkInfo mMobileNetworkInfo = mConnectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);          if (mMobileNetworkInfo != null) {                return mMobileNetworkInfo.isAvailable();          }    }    return false;}

4.检查当前网络类型

/*** 检查当前网络类型*/public static int getConnectedType(Context context) {    if (context != null) {          ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);          NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();          if (mNetworkInfo != null && mNetworkInfo.isAvailable()) {                return mNetworkInfo.getType();          }    }    return -1;}

5.打开网络设置界面

/**  * 打开网络设置界面  */public static void openSetting(Activity activity) {    Intent intent = new Intent("/");    ComponentName cm = new ComponentName("com.android.settings",            "com.android.settings.WirelessSettings");    intent.setComponent(cm);    intent.setAction("android.intent.action.VIEW");    activity.startActivityForResult(intent, 0);}

6. 获取移动网络运营商名称

/*** 获取移动网络运营商名称,如中国联通、中国移动、中国电信*/public static String getNetworkOperatorName(Context context) {    TelephonyManager telephonyManager = (TelephonyManager) context            .getSystemService(Context.TELEPHONY_SERVICE);    return telephonyManager.getNetworkOperatorName();}

6. 返回移动终端类型

/*** 返回移动终端类型* PHONE_TYPE_NONE :0 手机制式未知* PHONE_TYPE_GSM :1 手机制式为GSM,移动和联通* PHONE_TYPE_CDMA :2 手机制式为CDMA,电信*/public static int getPhoneType(Context context) {    TelephonyManager telephonyManager = (TelephonyManager) context            .getSystemService(Context.TELEPHONY_SERVICE);    return telephonyManager.getPhoneType();}

7. 判断当前手机的网络类型(WIFI还是2G, 3G, 4G)

/*** 判断当前手机的网络类型(WIFI还是2,3,4G),需要用到上面的方法*/public static int getNetWorkStatus(Context context) {    int netWorkType = Constants.NETWORK_CLASS_UNKNOWN;    ConnectivityManager connectivityManager = (ConnectivityManager) context            .getSystemService(Context.CONNECTIVITY_SERVICE);    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();    if (networkInfo != null && networkInfo.isConnected()) {        int type = networkInfo.getType();        if (type == ConnectivityManager.TYPE_WIFI) {            netWorkType = Constants.NETWORK_WIFI;        } else if (type == ConnectivityManager.TYPE_MOBILE) {            netWorkType = getNetWorkClass(context);        }    }    return netWorkType;}

持续更新…

0 0
原创粉丝点击