下方是一个很好的监测网络、状态的工具类

  1. public class NetworkUtils {
  2. /**
  3. * 网络是否可用
  4. *
  5. * @param activity
  6. * @return
  7. */
  8. public static boolean isNetworkAvailable(Context context) {
  9. ConnectivityManager connectivity = (ConnectivityManager) context
  10. .getSystemService(Context.CONNECTIVITY_SERVICE);
  11. if (connectivity == null) {
  12. } else {
  13. NetworkInfo[] info = connectivity.getAllNetworkInfo();
  14. if (info != null) {
  15. for (int i = 0; i < info.length; i++) {
  16. if (info[i].getState() == NetworkInfo.State.CONNECTED) {
  17. return true;
  18. }
  19. }
  20. }
  21. }
  22. return false;
  23. }
  24. /**
  25. * Gps是否打开
  26. *
  27. * @param context
  28. * @return
  29. */
  30. public static boolean isGpsEnabled(Context context) {
  31. LocationManager locationManager = ((LocationManager) context
  32. .getSystemService(Context.LOCATION_SERVICE));
  33. List<String> accessibleProviders = locationManager.getProviders(true);
  34. return accessibleProviders != null && accessibleProviders.size() > 0;
  35. }
  36. /**
  37. * wifi是否打开
  38. */
  39. public static boolean isWifiEnabled(Context context) {
  40. ConnectivityManager mgrConn = (ConnectivityManager) context
  41. .getSystemService(Context.CONNECTIVITY_SERVICE);
  42. TelephonyManager mgrTel = (TelephonyManager) context
  43. .getSystemService(Context.TELEPHONY_SERVICE);
  44. return ((mgrConn.getActiveNetworkInfo() != null && mgrConn
  45. .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel
  46. .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);
  47. }
  48. /**
  49. * 判断当前网络是否是wifi网络
  50. * if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE) {
  51. *
  52. * @param context
  53. * @return boolean
  54. */
  55. public static boolean isWifi(Context context) {
  56. ConnectivityManager connectivityManager = (ConnectivityManager) context
  57. .getSystemService(Context.CONNECTIVITY_SERVICE);
  58. NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
  59. if (activeNetInfo != null
  60. && activeNetInfo.getType() == ConnectivityManager.TYPE_WIFI) {
  61. return true;
  62. }
  63. return false;
  64. }
  65. /**
  66. * 判断当前网络是否3G网络
  67. *
  68. * @param context
  69. * @return boolean
  70. */
  71. public static boolean is3G(Context context) {
  72. ConnectivityManager connectivityManager = (ConnectivityManager) context
  73. .getSystemService(Context.CONNECTIVITY_SERVICE);
  74. NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
  75. if (activeNetInfo != null
  76. && activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
  77. return true;
  78. }
  79. return false;
  80. }
  81. }

以上方法均通过测试,tv_result为自设定的TextView。

    1. tv_result.append("网络是否可用:"+NetworkUtils.isNetworkAvailable(MainActivity.this)+"\n");
    2. tv_result.append("GPS开关是否打开:"+NetworkUtils.isGpsEnabled(MainActivity.this)+"\n");
    3. tv_result.append("是否为3G网络:"+NetworkUtils.is3G(MainActivity.this)+"\n");
    4. tv_result.append("WIFI是否打开:"+NetworkUtils.isWifiEnabled(MainActivity.this)+"\n");
    5. tv_result.append("是否为WIFI网络:"+NetworkUtils.isWifi(MainActivity.this)+"\n");

Android工具类-关于网络、状态的工具类的更多相关文章

  1. Android实时监听网络状态

    Android实时监听网络状态(1)   其实手机在网络方面的的监听也比较重要,有时候我们必须实时监控这个程序的实时网络状态,android在网络断开与连接的时候都会发出广播,我们通过接收系统的广播就 ...

  2. Android学习总结——判断网络状态

    package com.example.xch.broadcasttest; import android.content.BroadcastReceiver; import android.cont ...

  3. Android之监测手机网络状态的广播

    Android之监测手机网络状态的广播 Android 监控网络状态 Android利用广播监听设备网络连接(断网)的变化情况

  4. 网络状态诊断工具——netstat命令

    netstat命令可以用来查询整个系统的网络状态.百度百科的定义如下: Netstat的定义是: Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进 ...

  5. Android实时监听网络状态(1)

    其实手机在网络方面的的监听也比较重要,有时候我们必须实时监控这个程序的实时网络状态,android在网络断开与连接的时候都会发出广播,我们通过接收系统的广播就可以实现网络的监听. 1.添加访问网络和获 ...

  6. Android 通过广播获取网络状态

    Android系统网络连接状态的改变会发一个广播,注册一个广播接收者,实时动态的检测网络状态,及时提醒用户,优化用户体验.          本文仅提供WIFI 状态的检测作为参考,其他网络连接方式请 ...

  7. Android实时监听网络状态(2)

    在开发android应用时,涉及到要进行网络访问,时常需要进行网络状态的检查,以提供给用户必要的提醒.一般可以通过ConnectivityManager来完成该工作. ConnectivityMana ...

  8. Android实践--监測网络状态

    Android 监測网络状态      我们在使用Android手机时候,一些APP须要网络环境才干执行,所以手机须要可用的网络,无论是2G.3G或者WIFI.甚至有一些比較耗流量的APP仅仅能在WI ...

  9. iOS完美的网络状态判断工具

    大多数App都严重依赖于网络,一款用户体验良好的的app是必须要考虑网络状态变化的.iOSSinger下一般使用Reachability这个类来检测网络的变化. Reachability 这个是苹果开 ...

  10. Android之判断当前网络状态

    /** * 检测网络是否可用 * @return */ public boolean isNetworkConnected() { ConnectivityManager cm = (Connecti ...

随机推荐

  1. VMware Lab setup - A virtualized lab for testing HA and DRS

    https://www.simple-talk.com/sysadmin/virtualization/vmware-lab-setup---a-virtualized-lab-for-testing ...

  2. MapReduce三种路径输入

    目前为止知道MapReduce有三种路径输入方式.1.第一种是通过一下方式输入: FileInputFormat.addInputPath(job, new Path(args[0]));FileIn ...

  3. Ubuntu安装rabbitMq

    笔者ubuntu版本为Ubuntu 15.10,查看ubuntu当前版本命令:cat /etc/issue. 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erla ...

  4. Linux文件与目录操作

    1:目录操作指令 cd :切换目录 pwd:显示当前目录 mkdir:创建一个新目录 rmdir:删除一个空的目录rmdir -r:删除一个非空目录 . :此层目录 .. :上层目录 -:前一个工作目 ...

  5. Android内存分析命令(转)

    一.概述 1.1 内存指标概念 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 PSS= U ...

  6. django之创建第8个项目-数据库配置及同步研究

    1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your mode ...

  7. window搭建python环境

    在window开发python代码,搭建python环境! 01.下载python-win https://www.python.org/downloads/windows/ http://ipyth ...

  8. Serv-U精简版FTP服务端

    Window搭建自己的FTP,Serv-U是很不错的选择... 00.运行视图 注意: 此版本是绿色破解版,个人使用很便捷的.不建议商业使用... download: https://pan.baid ...

  9. iOS 用自签名证书实现 HTTPS 请求的原理

    在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info ...

  10. 【LeetCode】215. Kth Largest Element in an Array (2 solutions)

    Kth Largest Element in an Array Find the kth largest element in an unsorted array. Note that it is t ...