Android WIFI是否连接,网络状态监测工具类
时间:2022-07-25
本文章向大家介绍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;
}
}
希望能帮到您,山高水长,后会有期~
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Python基础绘图教程(二)
- Docker简介与安装
- python绘图 | 国家气象局开源预报检验库(多图预警)
- Docker镜像与容器的常用操作
- DiDi Kafka-Manager安装和简单使用
- Docker数据管理与挂载管理
- Docker Dockerfile 指令详解与实战案例
- flume kafka和sparkstreaming整合
- Docker如何搭建私有registry镜像仓库
- Harbor介绍与企业级私有Docker镜像仓库搭建
- 如何查看docker run启动参数命令
- YAML 语言教程与使用案例
- 计算等压面要素场的基本检验指标
- Kubernetes K8S之SSL证书有效期修改
- Kubernetes K8S之通过yaml文件创建Pod与Pod常用字段详解