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;
        }
  • 相关阅读:
    用R语言完成的交通可视化报告
    二维码(带有图片)的生成
    大文件数据去重复
    shell 脚本大文件处理
    Domain-specific language 领域特定语言
    cacheed 限制 4节点 3000万 es 批量删除 shell脚本练习 elasticsearch_action
    cached
    广告中嵌入非广告 非广告中嵌入广告
    js 四种调用方式 Method Invocation Pattern
    js 变量作用域
  • 原文地址:https://www.cnblogs.com/ToFlying/p/4233861.html
Copyright © 2011-2022 走看看