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;  
            }  
              
              
        }  
          
    }
  • 相关阅读:
    (转)Unity3D研究院之IOS&Android收集Log文件
    (转)C#中的委托(Delegate)和事件(Event)
    c# event Action 判断事件列表中是否存在这个委托
    电子商务 B2C 结构图【转载+整理】
    几个随机算法【转载+整理】
    Windows 2008 R2 配置 DNS 实现二级域名
    Perl、PHP、Python、Java 和 Ruby 比较【转载+整理】
    .NET 托管、非托管、本地:这些代码有什么区别?
    AWR
    HTTP 响应实体主体:XML 及 XML parser
  • 原文地址:https://www.cnblogs.com/genggeng/p/7306566.html
Copyright © 2011-2022 走看看