Android WIFI是否连接,网络状态监测工具类

Posted 初学者_Study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android WIFI是否连接,网络状态监测工具类相关的知识,希望对你有一定的参考价值。


WIF工具类

示例代码

//Wifi网络监测线程  然后在onCreate方法里面开启
private Handler mHandlerWifi = new Handler()
@Override
public void handleMessage(Message msg)
super.handleMessage(msg);
if (msg.what == 0)
//图标显示
WifiStateUtils.checkWifiStateImg(MainActivity.this,ivWifiState);
//文字显示
tvWifiTx.setText(WifiStateUtils.checkWifiStateTxt(MainActivity.this));
sendEmptyMessageDelayed(0, 1000);


;

onCreate方法中调用

//每过一秒钟监测一次wifi的网络状态
mHandlerWifi.sendEmptyMessageDelayed(0, 1000);

工具类

package com.ypl.studytv.util;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.widget.ImageView;

import com.ypl.studytv.R;

/**
* WIFI状态监测显示工具类
* author llw
*/
public class WifiStateUtils


/**
* 检查wifi是否处开连接状态
* @return
*/
public static boolean isWifiConnect(Context context)
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
return mWifiInfo.isConnected();


/**
* 检查wifi强弱并更改图标显示 按wifi的监测来说,总共五级,这里只做四级,
*/
public static void checkWifiStateImg(Context context,ImageView imageView)
if (isWifiConnect(context))
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
int wifi = mWifiInfo.getRssi();//获取wifi信号强度
if (wifi > -50 && wifi < 0) //最强 满格信号 4格
imageView.setImageResource(R.mipmap.icon_wifi_4);
else if (wifi > -70 && wifi < -50) //较强 3格
imageView.setImageResource(R.mipmap.icon_wifi_3);
else if (wifi > -80 && wifi < -70) //较弱 2格
imageView.setImageResource(R.mipmap.icon_wifi_2);
else if (wifi > -100 && wifi < -80) //微弱 1格
imageView.setImageResource(R.mipmap.icon_wifi_1);

else
//无连接
imageView.setImageResource(R.mipmap.icon_wifi_none);// 在这里 0格 表示没有网络



/**
* 检查wifi强弱 文字
*/
public static String checkWifiStateTxt(Context context)
String data = null;
if (isWifiConnect(context))
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
int wifi = mWifiInfo.getRssi();//获取wifi信号强度
if (wifi > -50 && wifi < 0) //最强 满格信号 4格
data = "最强";
else if (wifi > -70 && wifi < -50) //较强 3格
data = "较强";
else if (wifi > -80 && wifi < -70) //较弱 2格
data = "较弱";
else if (wifi > -100 && wifi < -80) //微弱 1格
data = "微弱";

else
//无连接
data = "无信号";// 在这里 0格 表示没有网络

return data;


/**
* 检查wifi强弱 文字
*/
public static int checkWifiStateNum(Context context)
int data = 0;
if (isWifiConnect(context))
WifiManager mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo mWifiInfo = mWifiManager.getConnectionInfo();
int wifi = mWifiInfo.getRssi();//获取wifi信号强度
if (wifi > -50 && wifi < 0) //最强 满格信号 4格
data = 4;
else if (wifi > -70 && wifi < -50) //较强 3格
data = 3;
else if (wifi > -80 && wifi < -70) //较弱 2格
data = 2;
else if (wifi > -100 && wifi < -80) //微弱 1格
data = 1;

else
//无连接
data = 0;// 在这里 0格 表示没有网络

return data;

希望能帮到您,山高水长,后会有期~


以上是关于Android WIFI是否连接,网络状态监测工具类的主要内容,如果未能解决你的问题,请参考以下文章

android中检測网络连接状态简单总结

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

Android网络状态判断与处理

Android 通过广播获取网络状态

android -------- WIFI 详解

Android开发 网络状态与信息工具类