在 Android 開發中,通常需要透過向本地和外部 IP 位址發送 ping 請求來驗證網路連線。雖然 ping 本機 IP 很簡單,但將此功能擴展到外部伺服器可能會帶來挑戰。
一個常見的方法是使用 Java InetAddress 類別來執行 ping 操作。但是,此方法僅限於本機 IP 位址。為了克服這個限制,需要一個替代解決方案。
建議的解決方案涉及利用 Android 運行時類別和 /system/bin/ping 命令。以下是實作它的方法:
<br>private booleanexecuteCommand(){<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中文網其他相關文章!