Android 開発では、多くの場合、ローカル IP アドレスと外部 IP アドレスの両方に ping リクエストを送信して、ネットワーク接続を確認する必要があります。ローカル IP に ping を実行するのは簡単ですが、この機能を外部サーバーに拡張すると課題が生じる可能性があります。
一般的なアプローチの 1 つは、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 アプリケーションから外部 IP アドレスに ping を送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。