- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 android 应用程序,我希望它显示网络上的所有 IP 地址,我已经在运行良好的 java 应用程序中使用了它,但是当我在 android 应用程序中使用它时,它在到达时崩溃了InetAddress.getLocalHost()
,这可以在 Android 应用程序上运行还是有其他方法可以实现?
代码
InetAddress localhost = null;
try {
localhost = InetAddress.getLocalHost(); // it crashes here
System.out.println("after");
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
System.out.println("the application stoped here");
e1.printStackTrace();
}
System.out.println("3");
// this code assumes IPv4 is used
byte[] ip = localhost.getAddress();
for (int i = 0; i <= 254; i++) {
ip[3] = (byte) i;
InetAddress address = null;
try {
address = InetAddress.getByAddress(ip);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
PingThread p = new PingThread(address);
p.start();
}
最佳答案
您可以通过在 try/catch 之前将此添加到您的代码中来解决此问题:
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
...并将此添加到您的 AndroidManifest 文件中:
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
引用Android Docs有关 StrictMode 的更多详细信息。
关于android - InetAddress.getLocalHost() 总是崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22525561/
我正在尝试了解 InetAddress.getLocalHost() 的工作原理。 Javadoc表示它从系统中检索主机名,然后将其解析为 InetAddress。 “解析为 InetAdess”到底
我正在开发一个 android 应用程序,我希望它显示网络上的所有 IP 地址,我已经在运行良好的 java 应用程序中使用了它,但是当我在 android 应用程序中使用它时,它在到达时崩溃了Ine
使用 JRE6(Windows XP 上的 SUN VM),getLocalhost() 有时会卡住。 有趣的是,如果在 Eclipse 中的调试器中,它不会卡住。我将其范围缩小到使用旧式 print
按照这个简短的教程 http://www.rgagnon.com/javadetails/java-0095.html我正在尝试获取我的客户端 IP 地址。 与教程的唯一区别是我希望将我的 IP 地址
我正在尝试执行以下代码。我是 Java 的新手,所以这是我第一次使用 java.net。程序没有错误,但我得到的本地主机地址为 192.168.56.1 而我的 IP 是 192.168.2.10 i
我不明白,为什么下面的代码打印 0.0.9.229 而不是 127.0.0.1。谁能告诉我,急于解决这个问题? String ha = InetAddress.getLocalHost().getHo
我正在不同操作系统上测试我们的服务器应用程序(编写的 Java),并认为 OpenSolaris (2008.11) 将是最不麻烦的,因为它具有良好的 Java 集成。原来我错了,因为我最终得到了 U
使用以下代码: try { System.out.println(new Date()); InetAddress hostName = InetAddress.getLocalHost();
这个问题已经有答案了: How to fetch both IPv4 and IPv6 on dual stack OS (1 个回答) 已关闭 8 年前。 我有一台支持 IPv4 和 IPv6 的双
在我的 docker 容器(Java 应用程序)中,调用 InetAddress.getLocalHost().getHostName()返回我们在 docker run --name 'myserv
我尝试了 InetAddress.getLocalHost().getHostAddress() 来获取用户的互联网地址。它给了我 127.0.1.1 但我正在寻找更像 192.168.1.75 的东
我可以使用 Tomcat 7 和 Java 7 在我的 Windows 机器上本地构建和运行这个应用程序。 但是当我在使用 Tomcat 7 和 Java 7 的 linux 机器上部署 war 文件
我正在尝试从运行它的服务器上获取主机名。 Java 代码: import java.net.InetAddress; System.out.println("Host Name: " + InetAd
使用以下代码: try { System.out.println(new Date()); InetAddress hostName = InetAddress.getLocalHost();
InetAddress.getLocalHost() 在 linux 中抛出 unknownHostException,直到我在/etc/hosts 中手动添加条目。有没有办法在不在/etc/host
用下面的代码 InetAddress.getLocalHost().getHostAddress(); 可以获取主机地址。但是 JVM 是如何发现它的呢? Java API 只告诉您它返回它 ( AP
我使用下面的代码打印出使用 java 1.5 的 linux box 的主机名 public static void main(String a[]) { System.out.println
我开始深入研究通过 Java 获取 IP 地址。我知道一台机器可以通过不同的网络接口(interface)拥有不同的 IP,因此我对我发现的一些示例代码有些困惑,这些代码似乎返回“首选”IP 地址(按
我需要知道当前计算机的名称。 最简单的方法是运行: java.net.InetAddress.getLocalHost().getHostName() 在 Linux 计算机中使用 OpenJDK 7
在离线工作(即未连接到互联网)时,是否有人在使用 OSX Lion 的 Java 中遇到 Java 的 InetAddress.getLocalHost() 解析问题? localhost:127.0
我是一名优秀的程序员,十分优秀!