Bei der Android-Entwicklung ist es häufig erforderlich, die Netzwerkkonnektivität zu überprüfen, indem Ping-Anfragen sowohl an lokale als auch an externe IP-Adressen gesendet werden. Während das Pingen lokaler IP-Adressen unkompliziert ist, kann die Ausweitung dieser Funktionalität auf externe Server eine Herausforderung darstellen.
Ein gängiger Ansatz besteht darin, die Java-InetAddress-Klasse zum Durchführen von Ping-Vorgängen zu verwenden. Allerdings ist diese Methode auf lokale IP-Adressen beschränkt. Um diese Einschränkung zu überwinden, ist eine alternative Lösung erforderlich.
Die vorgeschlagene Lösung umfasst die Verwendung der Android Runtime-Klasse und des Befehls /system/bin/ping. So können Sie es implementieren:
<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; }
Durch Ausführen von / Mit dem Befehl system/bin/ping im Java-Code können Sie erfolgreich Ping-Anfragen an externe IP-Adressen senden. Denken Sie daran, die erforderlichen Berechtigungen in die Datei AndroidManifest.xml aufzunehmen, insbesondere die Berechtigung android.permission.INTERNET.
Das obige ist der detaillierte Inhalt vonWie pinge ich externe IP-Adressen von Android-Java-Anwendungen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!