zoukankan      html  css  js  c++  java
  • Android 中判断网络状态

    首先在AndroidManifest.xml添加权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    1,判断是否有网络连接

    [java] view plain copy
     
    1. public boolean isNetworkConnected(Context context) {    
    2.     if (context != null) {    
    3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
    4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);    
    5.         NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();    
    6.         if (mNetworkInfo != null) {    
    7.             return mNetworkInfo.isAvailable();    
    8.         }    
    9.     }    
    10.     return false;    
    11. }  


    2.判断WIFI网络是否可用

    [java] view plain copy
     
    1. public boolean isWifiConnected(Context context) {    
    2.     if (context != null) {    
    3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
    4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);    
    5.         NetworkInfo mWiFiNetworkInfo = mConnectivityManager    
    6.                 .getNetworkInfo(ConnectivityManager.TYPE_WIFI);    
    7.         if (mWiFiNetworkInfo != null) {    
    8.             return mWiFiNetworkInfo.isAvailable();    
    9.         }    
    10.     }    
    11.     return false;    
    12. }  


    3.判断MOBILE网络是否可用

    [java] view plain copy
     
    1. public boolean isMobileConnected(Context context) {    
    2.     if (context != null) {    
    3.         ConnectivityManager mConnectivityManager = (ConnectivityManager) context    
    4.                 .getSystemService(Context.CONNECTIVITY_SERVICE);    
    5.         NetworkInfo mMobileNetworkInfo = mConnectivityManager    
    6.                 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);    
    7.         if (mMobileNetworkInfo != null) {    
    8.             return mMobileNetworkInfo.isAvailable();    
    9.         }    
    10.     }    
    11.     return false;    
    12. }  


    4.判断网络类型

    [java] view plain copy
     
      1.        //返回值 -1:没有网络  1:WIFI网络2:wap网络3:net网络  
      2. public static int GetNetype(Context context)  
      3. {   
      4.     int netType = -1;    
      5.     ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);   
      6.     NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();   
      7.     if(networkInfo==null)  
      8.     {   
      9.         return netType;   
      10.     }   
      11.     int nType = networkInfo.getType();   
      12.     if(nType==ConnectivityManager.TYPE_MOBILE)  
      13.     {   
      14.         if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet"))  
      15.         {   
      16.             netType = 3;   
      17.         }   
      18.         else  
      19.         {   
      20.             netType = 2;   
      21.         }   
      22.     }   
      23.     else if(nType==ConnectivityManager.TYPE_WIFI)  
      24.     {   
      25.         netType = 1;   
      26.     }   
      27.     return netType;   
      28. }  
  • 相关阅读:
    设计模式——装饰器模式
    设计模式——适配器模式
    Java IO概述
    Java中的注解
    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(3)- Serial Downloader模式(sdphost/MfgTool)
    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(2)- Boot配置(BOOT Pin/eFUSE)
    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(1)- Boot简介
    痞子衡嵌入式:ARM Cortex-M内核那些事(5)- 一表搜罗指令集
    痞子衡嵌入式:SEGGER J-Link仿真器硬件版本变迁
    痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU特性那些事(4)- RT105x选型
  • 原文地址:https://www.cnblogs.com/changyiqiang/p/7794544.html
Copyright © 2011-2022 走看看