我想获取当前设备的可用网络,所以我首先获取网络接口列表:
NetworkInterface.getNetworkInterfaces();
然后,迭代每一个:
NetworkInterface intf = en.nextElement();
String name = intf.getName();
问题就在这里。 name的返回值名称为:rmnet_data1、dymmy0、wlan0、rmnet_usb0、intf、lo、p2p0、sit0。 (在我的设备上)我想知道它们的含义是什么。
由于 Android 基于 Linux,因此 Linux 网络接口命名模式适用于 Android 设备。
这里有一些关于 *nix 网络接口命名的资源
总结一下:
lo
通常代表环回接口(localhost)
wlan
通常代表无线网络接口
rmnet
接口通常与 蜂窝连接和 USB 网络共享
sit
接口与 IPv4 上的隧道 IPv6 相关联
p2p
接口通常与点对点连接相关联(也许您的 Android 设备支持 WiFi Direct?)
dummy
接口为环回接口提供特殊别名
ap
或 swlan
界面(取决于 Android 发行版)。不过,它也可能与常规 wlan
界面相关联(在无法同时激活 WiFi 连接和移动热点的设备上观察到,例如 Galaxy Tab S2 上的 Android 9)。
我将手机连接到计算机并打开 USB 调制解调器。接口名称:
rndis0