zoukankan      html  css  js  c++  java
  • Android检测网络是否可用并获取网络类型

    在类中使用getSystemService的时候需要这样进行使用:1.

    public class JajaMenu extends Activity 
    {
        public static JajaMenu instance;
        
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            super.init();
            instance=this;
        }
        
      //获取实例
          public static JajaMenu getInstance(){
              return instance;
          }
    }

    2.调用

    public static final int NETTYPE_WIFI = 0x01;
    public static final int NETTYPE_CMWAP = 0x02;
    public static final int NETTYPE_CMNET = 0x03;
    /**
         * 检测网络是否可用
         * @return
         */
        public boolean isNetworkConnected(){
            ConnectivityManager cm=(ConnectivityManager)JajaMenu.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo=cm.getActiveNetworkInfo();
            return networkInfo !=null && networkInfo.isConnectedOrConnecting();
        }
        
        /**
         * 获取网络类型
         * @return 0:没有网络   1:WIFI网络   2:WAP网络    3:NET网络
         * */
        public int getNetworkType(){
            int netType=0;
            ConnectivityManager cm=(ConnectivityManager)JajaMenu.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo=cm.getActiveNetworkInfo();
            if(networkInfo == null){
                return netType;
            }
            int nType=networkInfo.getType();
            if(nType ==ConnectivityManager.TYPE_MOBILE){
                String extraInfo=networkInfo.getExtraInfo();
                if(!extraInfo.isEmpty()){
                    String strInfo=extraInfo.toLowerCase();
                    if(strInfo.equals("cmnet")){
                        netType=NETTYPE_CMNET;
                    }
                    else{
                        netType=NETTYPE_CMWAP;
                    }
                }
            }
            else if(nType ==ConnectivityManager.TYPE_WIFI){
                netType=NETTYPE_WIFI;
            }
            return netType;
        }
  • 相关阅读:
    Java 程序流程语句
    Java 基本语法
    Java 环境搭建
    Spring事务管理
    AOP 与 Spring中AOP使用(下)
    python爬虫笔记之爬取足球比赛赛程
    python爬虫笔记之re.match匹配,与search、findall区别
    python爬虫笔记之re.compile.findall()
    python爬虫笔记之re.IGNORECASE
    跨站脚本攻击(selfxss)笔记(三)
  • 原文地址:https://www.cnblogs.com/ToFlying/p/4233861.html
Copyright © 2011-2022 走看看