判断是否连接网络,当前网络类型,Gps是否打开

原创 2016年08月30日 17:25:32
/**
 * 与网络相关的操作和判断工具类
 */
public class NeobearNetUtils {

    public NeobearNetUtils() {
    }

    /**
     * 判断是否有网络连接可用
     *
     * @param context
     * @return 有网络连接true,无网络连接false
     */
    public static boolean isNetworkConnected(Context context) {
        if (null != context) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = cm.getActiveNetworkInfo();
            if (null != info) {
                return info.isAvailable();
            }
        }
        return false;
    }

    /**
     * 判断WIFI网络是否可用
     *
     * @param context
     * @return WIFI可用true,WIFI不可用false
     */
    public static boolean isWifiConnected(Context context) {
        if (null != context) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
            if (null != info) {
                return info.isAvailable();
            }
        }
        return false;
    }

    /**
     * 判断MOBILE网络是否可用
     *
     * @param context
     * @return MOBILE可用true,MOBILE不可用false
     */
    public static boolean isMobileConnected(Context context) {
        if (null != context) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
            if (null != info) {
                return info.isAvailable();
            }
        }
        return false;
    }

    /**
     * 获取当前网络连接的类型信息mobile还是wifi
     *
     * @param context
     * @return -1表示无,0表示mobile,1表示wifi
     */
    public static int getConnectedType(Context context) {
        if (null != context) {
            ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info = cm.getActiveNetworkInfo();
            if (null != info && info.isAvailable()) {
                return info.getType();
            }
        }
        return -1;
    }

    /**
     * 判断GPS是否打开
     *
     * @param context
     * @return 打开true,关闭false
     */
    public static boolean isGpsEnabled(Context context) {
        LocationManager lm = ((LocationManager) context.getSystemService(Context.LOCATION_SERVICE));
        List<String> accessibleProviders = lm.getProviders(true);

        return null != accessibleProviders && accessibleProviders.size() > 0;
    }

    /**
     * ping某个ip或域名是否联通,主要是测试网络连接是否通畅
     *
     * @param ip ip或域名
     * @return 联通true,断开false
     */
    public static boolean ping(String ip) {
        boolean isConnected = false;
        try {
            Process p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + ip);

            if (p.waitFor() == 0) {
                isConnected = true;
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (InterruptedException e) {
            e.printStackTrace();
        } finally {

        }

        return isConnected;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 工具类 —— 判断网络连接状态、GPS是否打开、基站信息和手机IMSI码

参考:http://www.jb51.net/article/32920.htm 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 1)判断是否有网络连接 代码...

判断当前手机网络类型

  • 2016年02月01日 08:44
  • 29KB
  • 下载

判断网络是否可用以及当前手机的网络类型

前言 android的入门开发教程最近都没怎么更新,实在是抱歉,主要是最近公司的项目赶,实在是抽不出时间来写,但最近一定会补上。公司一直都没有配电脑,没办法,一个字:穷!我之前一直都用的我用了5年的...

iphone判断当前网络连接类型WIF、WWAN、2G和3G

在 apple 管网sample code的Reachability只能区分出无网络、wifi和wwan(2G&2.5G&3G)类型的网络连接类型,只需重构networkStatusForFlags方...

iphone判断当前网络连接类型

//Reachability.m 中 networkStatusForFlags 方法重构 - (NetworkStatus) networkStatusForFlags: (SCNetworkRea...

判断当前设备是否联入网络

  • 2015年04月01日 11:22
  • 130KB
  • 下载

Android 判断当前网络连接是否可用、打开设置网络界面

在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况。 package com.example.network; import android.content.Conte...
  • FX_SKY
  • FX_SKY
  • 2013年06月03日 17:27
  • 1998

iOS 判断当前是否有网络

  • 2016年12月13日 15:54
  • 8KB
  • 下载

判断当前网络是否存在

  • 2013年06月01日 13:51
  • 2KB
  • 下载

Android判断GPS、wifi、移动网络是否可用的探知函数

编写GPS代码的时候总是要做这个判断,干脆封装成一个函数,随用随取。 public boolean isGpsEnabled(Context context) { LocationManag...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:判断是否连接网络,当前网络类型,Gps是否打开
举报原因:
原因补充:

(最多只允许输入30个字)