您的位置:首页 > 移动开发 > Android开发

Android获取实时连接热点的设备IP

2018-01-26 10:48 1416 查看

最近有很多网友向小编咨询这样的问题:通过读取

/proc/net/arp
文件可以得到连接当前热点的设备的IP,但是一旦设备断开后,该设备的IP还是存在该文件中,遇到这样的麻烦不知道该如何解决了。

就像系统设置里面的 便携式热点管理一样的方便 的方式 可以实时的监控热点的连接设备的变化

下面小编给大家分享一段实例代码,希望可以帮助到大家,具体代码如下所示:

private ArrayList getConnectedIP() {
ArrayList connectedIP = new ArrayList();
try {
BufferedReader br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null && splitted.length >= 4) {
String ip = splitted[0];
connectedIP.add(ip);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return connectedIP;
}

调用方法:

ArrayList connectedIP = getConnectedIP();
resultList = new StringBuilder();
for (String ip : connectedIP) {
resultList.append(ip);
resultList.append("\n");
}
System.out.print(resultList);

PS:下面再给大家分享一段 安卓获取接入的Wifi热点设备的Ip地址的代码

最近在做一个安卓设备间传输文件的app,建立热点让两部设备在同一个局域网之间传输文件,需要知道连接热点的设备的ip地址,这边记录一下获取的方式:

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
DhcpInfo dhcpInfo = wifiManager.getDhcpInfo();
int ip = dhcpInfo.serverAddress;
//此处获取ip为整数类型,需要进行转换
String strIp = intToIp(ip);
private String intToIp(int i) {
return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
+ ((i >> 24) & 0xFF);
}

总结

以上所述是小编给大家介绍的Android获取实时连接热点的设备IP,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 实时热点
相关文章推荐