在Android模拟器中,地址(eth0)为10.0.2.15/24。
在支持以太网的平板电脑上,eth0具有类似的地址:例如,192.168.0.2/24
如何通过现有的Android找到它?(现有版本-在Android预览之前!)
我知道WiFi可以通过WifiManager.getDhcpInfo()完成--但我对以太网感兴趣--甚至更好的是使用通用方法。
发布于 2014-09-02 05:31:06
这是一种获取掩码的方法,AKA是网络前缀长度。最小API为9,需要INTERNET权限。该地址有一个'/‘前缀,但是可以通过添加.toString.substring(1)等来轻松删除它。
public void logLocalIpAddresses() {
Enumeration<NetworkInterface> nwis;
try {
nwis = NetworkInterface.getNetworkInterfaces();
while (nwis.hasMoreElements()) {
NetworkInterface ni = nwis.nextElement();
for (InterfaceAddress ia : ni.getInterfaceAddresses())
Log.i(TAG, String.format("%s: %s/%d",
ni.getDisplayName(), ia.getAddress(), ia.getNetworkPrefixLength()));
}
} catch (Exception e) {
e.printStackTrace();
}
}https://stackoverflow.com/questions/25522917
复制相似问题