亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述android 如何获取连接wifi热点的设备数量相关的知识,希望能为你提供帮助。
wifi 热点是android 常用的一种功能,那么如何获取连接热点的设备数量?
网上查阅了一下资料,基本都是通过/proc/net/arp 设备文件去获取相关信息,包括ip mac 以及连接状态。
文件内容如下:
IP address
HW type
Flags
HW address
Mask
Device
192.168.43.73
0x1
0x2
64:a6:51:74:23:f7
*
wlan0
显而易见,内容包含IP 和mac, 另外Flags 表示连接状态。当然有一些设备,没有更新改flags,
那就很抱歉,该方法失效。
解析该文件代码如下:
【android 如何获取连接wifi热点的设备数量】String MacAddr = null;
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("/proc/net/arp"));
String line = reader.readLine();
//读取第一行信息,就是IP address HW type Flags HW address Mask Device
while ((line = reader.readLine()) != null) {
String[] tokens = line.split("[ ]+");
if (tokens.length <
6) {
continue;
}
String ip = tokens[0];
//ip
String mac = tokens[3];
//mac 地址
String flag = tokens[2];
//表示连接状态
}
} catch (FileNotFoundException e) {
} catch (IOException e) {
} finally {
try {
if (reader != null) {
reader.close();
}
}
catch (IOException e) {
}
}
推荐阅读
- device mapper
- Why invoke apply instead of calling function directly?
- Android TV : 系统分区配置及增加私有分区
- RichFaces开发应用程序示例图解
- java用eclipse在使用fx包时导入import javafx.application.Application;显示错误
- appium 问题四的解决办法(模拟器打开的页面弹出框与脚本打开页面的弹出框不一致)
- android SDK-使用 AVD Manager.exe 创建虚拟机遇到报错 emulator - arm.exe 已停止工作 我的解决方案,记录下
- 复习Appium之Android自动化
- 安卓集成Unity开发示例