zoukankan      html  css  js  c++  java
  • android当前网络连接类型判断

    package net.nyist.netState;  
      
    import android.content.Context;  
    import android.net.ConnectivityManager;  
    import android.net.NetworkInfo;  
      
    /**@author  
     *  
     *这是一个判断当前网络状态的工具类 
     * 
     */  
    public class netState {  
        /** 
         *  
         * @return 是否有活动的网络连接 
         */  
        public final boolean hasNetWorkConnection(Context context){  
            //获取连接活动管理器  
            final ConnectivityManager connectivityManager= (ConnectivityManager) context.  
                    getSystemService(Context.CONNECTIVITY_SERVICE);  
            //获取链接网络信息  
            final NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();  
              
            return (networkInfo!= null && networkInfo.isAvailable());  
              
        }  
        /** 
         * @return 返回boolean ,是否为wifi网络 
         *  
         */  
        public final boolean hasWifiConnection(Context context)  
        {     
            final ConnectivityManager connectivityManager= (ConnectivityManager) context.  
                    getSystemService(Context.CONNECTIVITY_SERVICE);  
            final NetworkInfo networkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
            //是否有网络并且已经连接  
            return (networkInfo!=null&& networkInfo.isConnectedOrConnecting());  
              
              
        }  
          
        /** 
         * @return 返回boolean,判断网络是否可用,是否为移动网络 
         *  
         */  
          
        public final boolean hasGPRSConnection(Context context){  
            //获取活动连接管理器  
            final ConnectivityManager connectivityManager= (ConnectivityManager) context.  
                    getSystemService(Context.CONNECTIVITY_SERVICE);  
            final NetworkInfo networkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
            return (networkInfo!=null && networkInfo.isAvailable());  
              
        }  
        /** 
         * @return  判断网络是否可用,并返回网络类型,ConnectivityManager.TYPE_WIFI,ConnectivityManager.TYPE_MOBILE,不可用返回-1 
         */  
        public static final int getNetWorkConnectionType(Context context){  
            final ConnectivityManager connectivityManager=(ConnectivityManager) context.  
                    getSystemService(Context.CONNECTIVITY_SERVICE);  
            final NetworkInfo wifiNetworkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);  
            final NetworkInfo mobileNetworkInfo=connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  
              
              
            if(wifiNetworkInfo!=null &&wifiNetworkInfo.isAvailable())  
            {  
                return ConnectivityManager.TYPE_WIFI;  
            }  
            else if(mobileNetworkInfo!=null &&mobileNetworkInfo.isAvailable())  
            {  
                return ConnectivityManager.TYPE_MOBILE;  
            }  
            else {  
                return -1;  
            }  
              
              
        }  
          
    }
  • 相关阅读:
    Java基础之十五 泛型
    设计模式之工厂模式
    数据结构之散列
    程序员的自我修养十内存
    程序员的自我修养一温故而知新
    Java编程思想之二十 并发
    Java编程思想之十八 枚举类型
    Java基础之十六 数组
    Java编程思想之十四 类型信息
    Java基础之十三 字符串
  • 原文地址:https://www.cnblogs.com/genggeng/p/7306566.html
Copyright © 2011-2022 走看看