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;
        }
  • 相关阅读:
    实现Runnable接口和继承Thread类的区别
    图的DFS和BFS
    图建模
    数据结构-图的基本知识和表示
    除自身以外的乘积数组(力扣第238题)
    MapReduce源码分析--Shuffle阶段
    转到博客园
    vue中使用剪切板插件 clipboard.js
    vue中使用vue-qrcode生成二维码
    h5中嵌入视频自动播放的问题
  • 原文地址:https://www.cnblogs.com/ToFlying/p/4233861.html
Copyright © 2011-2022 走看看