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

最近有很多网友向小编咨询这样的问题:通过读取/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);
        }
private String intToIp(int i) {
    return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
        + ((i >> 24) & 0xFF);
  }

Android获取实时连接热点的设备IP - 经验笔记

转自:Android获取实时连接热点的设备IP - 码农教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值