首先在AndroidManifest.xml添加权限

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

1,判断是否有网络连接

  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网络是否可用

  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网络是否可用

  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.判断网络类型

    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. }

Android 中判断网络状态的更多相关文章

  1. Android中判断网络连接是否可用及监控网络状态

    Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...

  2. android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理

    代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...

  3. Android中判断网络是否连接并提示设置

    /** * 判断网络是否连通 * @param context * @return */ public static boolean isNetworkConnected(Context contex ...

  4. android中判断网络连接是否可用

    一.判断网络连接是否可用 public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (C ...

  5. 5、android ConnectivityManager获取网络状态

    ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 ...

  6. android开发获取网络状态,wifi,wap,2g,3g.工具类(一)

    android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.Con ...

  7. Android获取当前网络状态

    Android获取当前网络状态 效果图 有网络 没有网络 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9052 ...

  8. Android中判断当前网络是否可用

    转载原文地址:http://www.cnblogs.com/renqingping/archive/2012/10/18/Net.html 当前有可用网络,如下图: 当前没有可用网络,如下图: 实现步 ...

  9. android 开发中判断网络是否连接的代码

    在android的开发中,尤其是与访问网络有关的开发,都要判断一下手机是否连接上了网络,下面是一个判断是否连接网络的嗲吗片段: package cn.com.karl.util; import com ...

随机推荐

  1. c++基础之向量Vector

    首先和string一样要在开头 #include <vector> #include <string> 和string一样,也算是一种容器,而且同属于STL(standard ...

  2. MongoDB整理笔记の高级查询

    1.条件操作符 <, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的    db.collection.find({ "field" : ...

  3. Android Tablayout属性介绍

    1.添加依赖 compile 'com.android.support:design:26.0.0-alpha1' 2.属性 改变选中字体的颜色app:tabSelectedTextColor=&qu ...

  4. vs2010 does not have a strong name

    处理步骤: C:\myWorkSpace\IECG Dev. Tool\Forklift\DbUpgraderDLL\bin\Debug 为dll 所在目录 DbUpgraderDLL.dll为dll ...

  5. Atcoder Beginner Contest 121D(异或公式)

    #include<bits/stdc++.h>using namespace std;int main(){    long long a,b;    cin>>a>&g ...

  6. javascript立即执行函数与模块化

    概念:立即执行函数顾名思义就是函数定义好之后立即执行.函数表达式方式:函数表达式后面加括号()即可立即执行函数. var xmlhttpUtil = function () { function ge ...

  7. SignalR-001

    SignalR 是什么? ASP.NET Core SignalR 是一个开放源代码库,它简化了向应用添加实时 web 功能. 实时 web 功能立即使服务器端代码能够将内容推送到客户端. 一.有这么 ...

  8. 从map中取出最大或最小value对应的key---多种写法

    package com.yuwanlong.hashing; import java.util.ArrayList; import java.util.Collections; import java ...

  9. Navicat Premium 12.1.12.0破解版激活

    声明:本文所提供的所有软件均来自于互联网,个人存放在此作为备用,以备将来不时之需,同时作为大家的分享和学习成果,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 附:二 ...

  10. ThinkPHP U方法

    方法1: {:U('User/Booking/bookingdetails')} 方法2: {:U('User/Booking/bookingdetails')}"+"&a ...