3
也許我問的是錯誤的問題,但我似乎無法找到我在找什麼,所以我會試着在這裏問它而不是谷歌。Android設備的網絡接口名稱
基本上,我有以下代碼,從中我可以收集如果我在無線上,3G或其他東西(tethering想到)。
// Iterate over all network interfaces.
for (Enumeration<NetworkInterface> en =
NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)
{
NetworkInterface intf = en.nextElement();
// Iterate over all IP addresses in each network interface.
for (Enumeration<InetAddress> enumIPAddr =
intf.getInetAddresses(); enumIPAddr.hasMoreElements();)
{
InetAddress iNetAddress = enumIPAddr.nextElement();
// Loop back address (127.0.0.1) doesn't count as an in-use
// IP address.
if (!iNetAddress.isLoopbackAddress())
{
sLocalIP = iNetAddress.getHostAddress().toString();
sInterfaceName = intf.getName();
}
}
}
我相信這裏的重要組成部分,是sInterfaceName = intf.getName();
現在在Galaxy S和Galaxy S的標籤,這似乎當連接到3G時,您連接到WiFi和「pdp0」返回「的eth0」這就是說,我真的只能測試1個Galaxy S和1個Galaxy S Tab,因爲他們是我唯一的Android設備。我想象網絡接口名稱是由設備管理器在內核的某個地方設置的。我可能會通過內核爲每個設備,但我覺得有人必須已經找到這個信息了,有什麼建議在哪裏尋找或搜索谷歌?
有用,但不回答這個問題。他想要接口的名稱,而不是當前的網絡類型。 – Andy