【 19.4.22 日常】 在Android中操作WiFi

本文介绍了如何在Android中使用WiFiManager类进行WiFi操作,包括开启、关闭WiFi,获取当前状态。同时,提到了WifiInfo类用于获取更详细的WiFi信息,并提供了将IP地址从整数转换为点分十进制格式的案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android中操作wifi

WiFiManager 类

WifiManager是android提供的一个用于管理wifi的类,通过这个类可以对wifi进行操作

						WifiManager提供的WiFi状态表
	WifiManager.WIFI_STATE_ENABING   Wifi正在打开					
	WifiManager.WIFI_STATE_ENABLED   Wifi已打开	
	WifiManager.WIFI_STATE_DISABLED   Wifi已关闭	
	WifiManager.WIFI_STATE_DISABLING   Wifi正在关闭	
	WifiManager.WIFI_STATE_UNKNOWN   Wifi状态未知	

打开/关闭WiFi

①权限

    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 	//允许应用程序改变网络状态
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 				//允许应用程序改变wifi状态
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 	//允许应用程序获取网络状态
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>				//允许应用程序获取wifi状态

②获取wifimanager对象

WiFiManager wifiManager = (WifiManager) MainActivity.this.getApplicationContext().getSystemService(Service.WIFI_SERVICE);

//context为当前activity对象

③打开wifi

wifiManager.setWifiEnabled(true);

④关闭wifi

wifiManager.setWiFiEnabled(false);

⑤获取当前wifi状态

wifiManager.getWiFiState();

//返回值为第一张表中的返回值,返回值类型为int值

WifiInfo 类

wifiinfo提供了更多的关于当前wifi状态的方法,如ssid,网络连接速度等

方法								意义

getBSSID() 						获取BSSID
getHiddenSSID()      			获取SSID是否被隐藏
getIPAddress()					获取整数形式的IP地址
getNetworkId()					获得网络ID
getLinkSpeed()                  获取链接速度,单位Mbps
getMacAddress()				获取物理地址
getSSid()     						获取SSID
getSupplicanState()     		返回具体客户端状态的信息

综上,我们可以获得wifi的很多信息,但是其中IP地址为整数形式,而我们平常使用的为点分十进制IP地址,于是,我们还需要调用一个方法来讲IP地址进行转换

//将整数值IP转化为点分IP
    private String intoIP(int ipaddress) {
        return (ipaddress & 0xFF)+"."+((ipaddress>>8)&0xFF)+"."+((ipaddress>>16)&0xFF)+"."+((ipaddress>>24)&0xFF);
    }

附 Wifi状态小案例代码

layout代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"
    >

    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BeanSten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值