Dans le développement Android, il est souvent nécessaire de vérifier la connectivité réseau en envoyant des requêtes ping aux adresses IP locales et externes. Bien que le ping des adresses IP locales soit simple, étendre cette fonctionnalité à des serveurs externes peut présenter des défis.
Une approche courante consiste à utiliser la classe Java InetAddress pour effectuer des opérations de ping. Cependant, cette méthode est limitée aux adresses IP locales. Pour surmonter cette limitation, une solution alternative est nécessaire.
La solution proposée implique l'utilisation de la classe Android Runtime et de la commande /system/bin/ping. Voici comment l'implémenter :
<br>private boolean executeCommand(){</p> <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; }
En exécutant le / system/bin/ping dans le code Java, vous pouvez envoyer avec succès des requêtes ping à des adresses IP externes. N'oubliez pas d'inclure les autorisations nécessaires dans le fichier AndroidManifest.xml, en particulier l'autorisation android.permission.INTERNET.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!