Tag: 网络掩码

Android,在网络共享和连接到接入点时检测WiFi的本地IP和子网掩码

我需要在Android设备上检测WiFi网络上的本地IP地址和子网掩码 (为了正确计算本地子网的UDP广播地址)。 当设备连接到接入点时,以下操作正常: // Only works when NOT tethering WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); DhcpInfo dhcp = wifi.getDhcpInfo(); if (dhcp == null) throw new IOException(“No DHCPInfo on WiFi side.”); foo(dhcp.ipAddress, dhcp.netmask); 但是当它通过网络共享提供接入点的Android设备时它不起作用:当Android设备是它的客户端时,DhcpInfo似乎包含由DCHP服务器设置的信息,而不是当Android设备本身提供DHCP服务时。 在束缚时,我能找到的最有希望的解决方案是: // No way to get subnet mask WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); if (info == null) throw new […]