NetworkInterface.isUp()返回false

时间:2015-05-28 23:57:15

标签: android network-interface

我遇到的问题是,我的某个Android测试平板电脑(运行Android 4.4.2)已NetworkInterface.isUp()返回false。此外,NetworkInterface.getInetAddresses()会返回空Enumeration<InetAddress>。奇怪的是,我已经访问互联网,当我查看Wifi网络详细信息时,设备已获得IP地址。

在另一台设备(运行Android 4.2.2)上没有报告问题。

所以这些是我的两个问题:

  1. 界面究竟是什么?文档非常简短。

      

    如果此网络接口已启动,则返回true。

    我的意思是,怎么了? - 字面意思。

  2. 问题是什么(原因)以及我该如何解决?

1 个答案:

答案 0 :(得分:0)

“up”接口是网络接口具有开放连接的事实。 “up”的常见接口如下:

  • 界面 lo localhost 127.0.0.1 :: 1 )。
  • 当前活动的网络接口。例如,如果wifi处于活动状态,则 wlan0

工作原理如下。您可能有多个网络接口正在运行。所有网络接口均可通过NetworkInterface.getNetworkInterfaces()访问。每个网络接口都绑定到一个或多个地址(例如,您的主要wifi设备,通常名为 wlan0 ,可以同时具有IPv4作为IPv6地址)。这些地址可通过

访问
Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
NetworkInterface ni = nis.nextElement();
Enumeration<InetAddress> addresses = ni.getInetAddresses();

你应该检查你是否意外地引用了(几乎)总是向上的localhost,或者是其他接口。