• Android开发 网络检测(使用广播监听)


    比较简单的检测网络:

     1 /**
     2  * 检查网络是否连接
     3  * @param context
     4  * @return
     5  */
     6 public boolean isNetworkConnected(Context context) {
     7     if (context != null) {
     8         ConnectivityManager mConnectivityManager = (ConnectivityManager) context
     9                 .getSystemService(Context.CONNECTIVITY_SERVICE);
    10         // 获取有效的网络信息
    11         NetworkInfo mNetworkInfo = mConnectivityManager
    12                 .getActiveNetworkInfo();
    13         if (mNetworkInfo != null) {
    14             // 返回网络是否可用
    15             return mNetworkInfo.isAvailable();
    16         }
    17     }
    18     return false;
    19 }

    用广播的方式检测网络连接状态,以及接入点的名称:

     1 /**
     2  * 网络连接广播接收
     3  * @author Administrator
     4  *
     5  */
     6 private class CheckNetStateRecevicer extends BroadcastReceiver {
     7  
     8     @Override
     9     public void onReceive(Context context, Intent intent) {
    10         // TODO Auto-generated method stub
    11         if (intent.getAction().equals(
    12                 ConnectivityManager.CONNECTIVITY_ACTION)) {
    13             Log.i("Info", "网络状态已经改变");
    14             cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  // 获得网络连接服务
    15             networkInfo = cm.getActiveNetworkInfo();    // 获得可用的网络信息
    16  
    17             if (networkInfo != null
    18                     && networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
    19                 String netId = networkInfo.getExtraInfo();    // 获得手机接入点的网络模式
    20                 Toast.makeText(context, "网络已连接至" + netId, Toast.LENGTH_SHORT)
    21                 .show();
    22             } else if (networkInfo != null
    23                     && networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
    24                 WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    25                 String ssid = wm.getConnectionInfo().getSSID().toString();  // 获得WiFi接入点的名称
    26                 Toast.makeText(context, "网络已连接至" + ssid, Toast.LENGTH_SHORT)
    27                 .show();
    28             } else {
    29                 Toast.makeText(context, "网络出现异常", Toast.LENGTH_LONG).show();
    30             }
    31         }
    32  
    33     }
    34 }
  • 相关阅读:
    log4j2分析总结(一)
    Idea(三)常用插件以及快捷键总结
    设计模式(七)_模板方法模式
    Idea(二) 解决IDEA卡顿问题及相关基本配置
    设计模式(六)_观察者模式
    SpringBoot(十一)_springboot热部署
    UML类图学习
    设计模式(五)_工厂方法模式
    设计模式(四)_简单工厂模式
    设计模式(三)_装饰器模式
  • 原文地址:https://www.cnblogs.com/gxchexi/p/4569071.html
Copyright © 2020-2023  润新知