获取连接到手机热点上的设备的信息

文章讲述了如何在Android中检测WiFi热点客户端连接状态,由于`android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGE`API已废弃,作者通过读取/proc/net/arp文件来跟踪连接变化,利用IP地址和FLAGS字段判断连接状态,并提到定期刷新ARP缓存以保持信息更新。

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

广播:android.net.wifi.WIFI_HOTSPOT_CLIENTS_CHANGE已经废弃

没有公共API可以提供有关此信息...
但是您可以阅读/ proc / net / arp文件,并查看连接到访问点的客户端。

/ proc / net / arp文件具有6个字段:IP地址,硬件类型,标志,硬件地址,掩码和设备

问题是客户端断开连接时,因为它不会从文件中消失。一个解决方案可能是对每个客户端执行ping操作,然后等待响应,但是对我来说,这不是一个好的解决方案,因为某些客户端不响应ping。如果您喜欢此解决方案,请在GitHub上检查此项目-> https://github.com/nickrussler/Android-Wifi-Hotspot-Manager-Class/tree/master/src/com/whitebyte

我所做的是:读取/ proc / net / arp并检查FLAGS字段,当该值为0x2时表示工作站已连接且0x0断开了连接,但是要刷新此字段,我需要不时清除ARP缓存,并且我用以下命令做到了:ip neigh flush all

$ cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.1.1      0x1         0x2         aa:aa:aa:aa:aa:a1     *        eth0
198.18.32.1      0x1         0x6         02:00:00:00:10:01     *        vlan2
10.1.2.1         0x1         0x0         00:00:00:00:00:00     *        vlan2
198.18.32.18     0x1         0x6         02:00:00:00:10:12     *        vlan2
10.1.4.1         0x1         0x0         00:00:00:00:00:00     *        vlan4
198.18.32.17     0x1         0x0         00:00:00:00:00:00     *        eth1
198.18.32.17     0x1         0x6         02:00:00:00:10:11     *        vlan4
198.18.32.1      0x1         0x6         02:00:00:00:10:01     *        vlan3
10.1.5.1         0x1         0x0         00:00:00:00:00:00     *        vlan5
198.18.32.17     0x1         0x6         02:00:00:00:10:11     *        vlan5
198.18.32.1      0x1         0x6         02:00:00:00:10:01     *        vlan4
198.18.32.17     0x1         0x6         02:00:00:00:10:11     *        vlan2
198.18.35.161    0x1         0x6         02:00:00:00:14:a1     *        vlan2
198.18.32.17     0x1         0x6         02:00:00:00:10:11     *        vlan3
192.168.5.8      0x1         0x2         70:bb:e9:ba:57:23     *        wlan2
198.99.36.3      0x1         0x0         00:00:00:00:00:00     *        vlan99
198.18.32.17     0x1         0x6         02:00:00:00:10:11     *        vlan11
10.1.6.1         0x1         0x0         00:00:00:00:00:00     *        vlan6
198.18.36.1      0x1         0x6         02:00:00:00:14:01     *        vlan5
10.1.3.1         0x1         0x0         00:00:00:00:00:00     *        vlan3
192.168.5.5      0x1         0x2         d2:72:0e:8b:d4:64     *        wlan2
198.18.32.1      0x1         0x6         02:00:00:00:10:01     *        vlan5
198.18.36.3      0x1         0x6         02:00:00:00:14:03     *        vlan2

转自:关于android:如何获取连接到wifi热点的客户端设备详细信息? | 码农家园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值