Android之网络连接判断

简介:

   Android进行网络联网的一些操作时,经常会对网络是否已经连接成功进行判断。我们通常会对wifi和移动网络进行判断,我们需要判断网络设备是否开启,是否连接成功,这里做个笔记哈。

 

 
  1. package com.example.util; 
  2.  
  3. import android.content.Context; 
  4. import android.net.ConnectivityManager; 
  5. import android.net.NetworkInfo; 
  6. import android.net.wifi.WifiManager; 
  7. import android.telephony.TelephonyManager; 
  8. import android.util.Log; 
  9.  
  10. /** 
  11.  *  
  12.  * @author XuZhiwei (xuzw13@gmail.com) 
  13.  * Weibo:http://weibo.com/xzw1989 
  14.  * Create at 2012-9-22 上午11:25:04 
  15.  */ 
  16. public class NetUtil {  
  17.      
  18.     /** 
  19.      * 判断Network是否开启(包括移动网络和wifi) 
  20.      *  
  21.      * @return 
  22.      */ 
  23.     public static boolean isNetworkEnabled(Context mContext) { 
  24.         return ( isNetEnabled(mContext)|| isWIFIEnabled(mContext)); 
  25.     } 
  26.      
  27.      
  28.     /** 
  29.      * 判断Network是否连接成功(包括移动网络和wifi) 
  30.      * @return 
  31.      */ 
  32.     public static boolean isNetworkConnected(Context mContext){ 
  33.         return (isWifiContected(mContext) || isNetContected(mContext)); 
  34.     } 
  35.  
  36.     /** 
  37.      * 判断移动网络是否开启 
  38.      *  
  39.      * @return 
  40.      */ 
  41.     public static boolean isNetEnabled(Context context) { 
  42.         boolean enable = false
  43.         TelephonyManager telephonyManager = (TelephonyManager) context 
  44.                 .getSystemService(Context.TELEPHONY_SERVICE); 
  45.         if (telephonyManager != null) { 
  46.             if (telephonyManager.getNetworkType() != TelephonyManager.NETWORK_TYPE_UNKNOWN) { 
  47.                 enable = true
  48.                 Log.i(Thread.currentThread().getName(), "isNetEnabled"); 
  49.             } 
  50.         } 
  51.  
  52.         return enable; 
  53.     } 
  54.  
  55.     /** 
  56.      * 判断wifi是否开启 
  57.      */ 
  58.     public static boolean isWIFIEnabled(Context context) { 
  59.         boolean enable = false
  60.         WifiManager wifiManager = (WifiManager) context 
  61.                 .getSystemService(Context.WIFI_SERVICE); 
  62.         if (wifiManager.isWifiEnabled()) { 
  63.             enable = true
  64.             Log.i(Thread.currentThread().getName(), "isWifiEnabled"); 
  65.         } 
  66.           
  67.         Log.i(Thread.currentThread().getName(), "isWifiDisabled"); 
  68.         return enable; 
  69.     } 
  70.     /** 
  71.      * 判断移动网络是否连接成功! 
  72.      * @param context 
  73.      * @return 
  74.      */ 
  75.     public static boolean isNetContected(Context context){ 
  76.         ConnectivityManager connectivityManager 
  77.              = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
  78.          NetworkInfo mobileNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 
  79.             if(mobileNetworkInfo.isConnected()) 
  80.             { 
  81.                  
  82.                 Log.i(Thread.currentThread().getName(), "isNetContected"); 
  83.                 return true ; 
  84.             } 
  85.             Log.i(Thread.currentThread().getName(), "isNetDisconnected"); 
  86.             return false ; 
  87.  
  88.     } 
  89.       
  90.     /** 
  91.      * 判断wifi是否连接成功 
  92.      * @param context 
  93.      * @return 
  94.      */ 
  95.     public static boolean isWifiContected(Context context){ 
  96.         ConnectivityManager connectivityManager 
  97.              = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
  98.          NetworkInfo wifiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
  99.             if(wifiNetworkInfo.isConnected()) 
  100.             { 
  101.                  
  102.                 Log.i(Thread.currentThread().getName(), "isWifiContected"); 
  103.                 return true ; 
  104.             } 
  105.             Log.i(Thread.currentThread().getName(), "isWifiDisconnected"); 
  106.             return false ; 
  107.  
  108.     } 
  109.  

 

本文转自xuzw13 51CTO博客,原文链接:http://blog.51cto.com/xuzhiwei/1003059,如需转载请自行联系原作者

相关文章
|
2月前
|
数据库 Android开发 开发者
构建高效Android应用:采用Kotlin协程优化网络请求处理
【2月更文挑战第30天】 在移动应用开发领域,网络请求的处理是影响用户体验的关键环节。针对Android平台,利用Kotlin协程能够极大提升异步任务处理的效率和简洁性。本文将探讨如何通过Kotlin协程优化Android应用中的网络请求处理流程,包括协程的基本概念、网络请求的异步执行以及错误处理等方面,旨在帮助开发者构建更加流畅和响应迅速的Android应用。
|
4月前
|
安全 API Android开发
Android网络和数据交互: 解释Retrofit库的作用。
Android网络和数据交互: 解释Retrofit库的作用。
41 0
|
4月前
|
Android开发 开发者
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
Android网络和数据交互: 请解释Android中的AsyncTask的作用。
22 0
|
1月前
|
编解码 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)1
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)
62 1
|
4天前
|
Java Linux API
统计android设备的网络数据使用量
统计android设备的网络数据使用量
14 0
|
1月前
|
编解码 开发工具 Android开发
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
Android获取设备各项信息(设备id、ip地址、设备名称、运行商、品牌、型号、分辨率、处理器、国家码、系统语言、网络类型、oaid、android版本、操作系统版本、mac地址、应用程序签名..)2
37 2
|
1天前
|
Android开发
Android网络访问超时
Android网络访问超时
|
2天前
|
Android开发
android检测网络连接是否存在(一)
android检测网络连接是否存在(一)
|
17天前
|
移动开发 Java Android开发
构建高效Android应用:采用Kotlin协程优化网络请求
【4月更文挑战第24天】 在移动开发领域,尤其是对于Android平台而言,网络请求是一个不可或缺的功能。然而,随着用户对应用响应速度和稳定性要求的不断提高,传统的异步处理方式如回调地狱和RxJava已逐渐显示出局限性。本文将探讨如何利用Kotlin协程来简化异步代码,提升网络请求的效率和可读性。我们将深入分析协程的原理,并通过一个实际案例展示如何在Android应用中集成和优化网络请求。
|
18天前
|
存储 应用服务中间件 网络安全
Android 网络链接稳定性测试解决方案
Android 网络链接稳定性测试解决方案
20 0