判断wifi连接是否可用

/**
* 判断当前连接方式是否是WIFI连接
*
* @param context
* @return
*/
private static boolean isWifiConnected(Context context)
{
  return getNetworkState(context, ConnectivityManager.TYPE_WIFI) == State.CONNECTED;
}

/**
* 获取连接状态
*
* @param context
* @param networkType
* @return
*/
private static State getNetworkState(Context context, int networkType)
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo info = cm.getNetworkInfo(networkType);

return info == null ? null : info.getState();
}

对于正常的WIFI网络判断,以上方法是可以有效的。但是现在小米系统可以通过小米助手来共享PC网络,对于这种网络上面的方法就失效,那么我们就可以采用以下方法来判断网络状态:

/*
* 判断Wifi是否可用
*
* @return true表示有Wifi且可用,如果系统返回false表示Wifi功能不可用
*/
public static boolean isWifi()
{
   WifiManager wifiMan = (WifiManager) MaxApplication.getInstance().getSystemService(Context.WIFI_SERVICE);
   WifiInfo wifiInfo = wifiMan.getConnectionInfo();
     if (wifiInfo != null)
     {
        if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == DetailedState.OBTAINING_IPADDR
           || WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == DetailedState.CONNECTED)
     {
      return true;
     }
  }
  return false;
}

时间: 2024-12-09 16:19:08

判断wifi连接是否可用的相关文章

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

一.判断网络连接是否可用 1 public static boolean isNetworkAvailable(Context context) { 2 ConnectivityManager cm = (ConnectivityManager) context 3 .getSystemService(Context.CONNECTIVITY_SERVICE); 4 if (cm == null) { 5 } else { 6 //如果仅仅是用来判断网络连接 7 //则可以使用 cm.getAc

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

Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android中判断网络连接是否可用及监控网络状态,感兴趣的朋友可以参考下 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"

[Android]判断网络连接是否可用

/** * 判断移动网络是否开启 * * @param context * @return */ public static boolean isNetEnabled(Context context) { TelephonyManager tm = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); if (tm != null) { if (tm.getNetworkType() != Telepho

android判断网络连接状态、联网类型、运营商

/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { String netType = ""; ConnectivityManager connectionManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Networ

获取android设备wifi连接状态

本文将介绍如何获取android设备wifi连接状态! 添加访问权限(AndroidManifest.xml文件里) <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> Java代码(MainActivity.java文件) package com.example.androidtest; import android.net.ConnectivityManager; impo

android 中判断WiFi是否可用的可靠方法 ,android 是否联网

http://alex-yang-xiansoftware-com.iteye.com/blog/619841 在一些程序中,需要从网上下载数据,或者通过其他方式对网络产生流量,当wifi不可用时应该提示用户wifi已经不可用了,是否继续,因为如果wifi掉了,那么程序可能采用3G卡或其他的收费的渠道使用网络,会导在不知情时产生大量的上网费用.通过查看android的api可使用下列方法进行判断: public static boolean isWiFiActive(Context inCont

Android判断当前网络是否可用--示例代码

Android判断当前网络是否可用--示例代码 分类: *07 Android 2011-05-24 13:46 7814人阅读 评论(4) 收藏 举报 网络androiddialogmanagernetworknull 在Android平台上开发基于网络的应用,必然需要去判断当前的网络连接情况.下面的代码,作为例子,详细说明了对于当前网络情况的判断. 先看一个自己定义的应用类. public class NetworkDetector {           public static boo

android通过wifi连接经常超时

============问题描述============ 最近做了一个安卓应用,测试时发现如果通过wifi连接经常超时,而用3G网络连接有时候很慢,但是很少超时,连接用的httpclient的post方式,服务器用的是tomcat7,数据库oracle,连接用的C3P0连接池,有人知道是什么情况吗? 服务器连接超时已经调过,还是没什么效果. ============解决方案1============ 超时你要判断是post的时候服务器接收的时间,是服务器接收有问题还是发送有问题 ========

android设备判断网络连接状态

android开发中,在做网络请求前判断当前网络连接状态有时很有必要.本文将介绍如何获取android设备当前网络连接状态! 所需权限(AndroidManifest.xml文件中添加): <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> Java代码(MainActivity.java文件) package com.example.androidtest; import a