• [android] android 获取网络连接信息


    效果图:
    图片
     

     
    工具类
    /**
    * 获取网络连接信息
    
    * 
    
    * 根据NetworkInfo可以知道有很多的连接方式和信息
    
    * 
    
    * ① 当没有任何可用网络的时候,networkinfo为null 判断networkinfo是否为null
    
    * 
    
    * ② 当只有wifi网络或者wifi网络和移动网络同时存在的时候,返回wifi网络连接信息
    
    * 
    
    * NetworkInfo参数如下:
    
    * 
    
    * detailedState:CONNECTED(连接状态)
    
    * 
    
    * extraInfo:yiteng1(wifi网络名称)
    
    * 
    
    * isAvaiable:true(是否可用)
    
    * 
    
    * networkType:1
    
    * 
    
    * state:CONNECTED
    
    * 
    
    * subtype:0
    
    * 
    
    * typeName:WIFI(网络类型名称)
    
    * 
    
    * ③ 当只有移动网络的时候,返回移动网络连接信息
    
    * 
    
    * NetworkInfo参数如下:
    
    * 
    
    * detailedState:CONNECTED(连接状态)
    
    * 
    
    * extraInfo:cmnet(移动网络名称)
    
    * 
    
    * isAvaiable:true
    
    * 
    
    * networkType:0
    
    * 
    
    * state:CONNECTED
    
    * 
    
    * subtype:2
    
    * 
    
    * typeName:mobile(网络类型名称)
    
    * 
    
    * @param context
    
    * @return
    
    */
    
    public static NetworkInfo getActiveNetwork(Context context) {
    
        if (context == null) {return null;}
    
        ConnectivityManager mConnMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    
        if (mConnMgr == null) {return null;}
    
        // 获取活动网络连接信息
    
        NetworkInfo aActiveInfo = mConnMgr.getActiveNetworkInfo();
    
        return aActiveInfo;
    
    }




    使用方法:在需要监听网络的页面

       

     NetworkInfo networkInfo = GetSystemInfo.getActiveNetwork(this);
    
        if (networkInfo == null) {
    
            ToastUtils.showCustomToastLong("无可用网络连接,请检查网络设置");
    
        } else {
    
            if (networkInfo.isAvailable() == false) {
    
                ToastUtils.showCustomToastLong("无可用网络连接,请检查网络设置");
    
            } else {
    
                String networkType = networkInfo.getTypeName();
    
                    if (AppConstants.NETWORK_WIFI.equalsIgnoreCase(networkType)) {
    
                        ToastUtils.showCustomToastLong("已连接到wifi网络"+ networkInfo.getExtraInfo());
    
                    } else if (AppConstants.NETWORK_MOBILE.equalsIgnoreCase(networkType)) {
    
                        ToastUtils.showCustomToastLong("您当前使用的是移动网络");
    
                    }
    
                }
    
            }
  • 相关阅读:
    新人,请多指教,有个java小问题: bety a=300,强制类型转换,分析我的做法是否正确?谢谢
    生活健康
    小涛涛
    学习笔记(三)
    学习笔记(二)
    学习笔记(一)
    子元素宽度为100%,缩小窗口,父元素出现横向滚动条,滚动条向右拉,父元素右边有一块空白区域,没有背景颜色
    word-wrap:break-word和word-break:break-all的区别
    链接link使用href=“#”和href="##"的区别
    C#中在路径前使用 @ 的作用
  • 原文地址:https://www.cnblogs.com/avivaye/p/4724496.html
Copyright © 2020-2023  润新知