在 Android 开发中,通常需要通过向本地和外部 IP 地址发送 ping 请求来验证网络连接。虽然 ping 本地 IP 很简单,但将此功能扩展到外部服务器可能会带来挑战。
一种常见的方法是使用 Java InetAddress 类来执行 ping 操作。但是,此方法仅限于本地 IP 地址。为了克服这个限制,需要一个替代解决方案。
建议的解决方案涉及利用 Android 运行时类和 /system/bin/ping 命令。以下是实现它的方法:
<br>private booleanexecuteCommand(){</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> System.out.println("executeCommand"); Runtime runtime = Runtime.getRuntime(); try { Process mIpAddrProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int mExitValue = mIpAddrProcess.waitFor(); System.out.println(" mExitValue "+mExitValue); if(mExitValue==0){ return true; }else{ return false; } } catch (InterruptedException ignore) { ignore.printStackTrace(); System.out.println(" Exception:"+ignore); } catch (IOException e) { e.printStackTrace(); System.out.println(" Exception:"+e); } return false; }
通过执行 / Java 代码中的 system/bin/ping 命令,可以成功向外部 IP 地址发送 ping 请求。请记住在 AndroidManifest.xml 文件中包含必要的权限,特别是 android.permission.INTERNET 权限。
以上是如何从 Android Java 应用程序 Ping 外部 IP 地址?的详细内容。更多信息请关注PHP中文网其他相关文章!