有个需求,需要判断网络是否连接,如果是正常的移动网络或者 WiFi,是可以判断出来的,但是目标设备使用的是以太网,就像台式机插入的网线一样。假设拔掉机器这边的网线,很显然就是没有网络的,通过 Android 的 ConnectivityManager 的 getActiveNetworkInfo 也可以判断出来。但如果拔掉的是网线的另一端,通过 Android SDK 获取的网络会仍然是 CONNECTED。这显然是有问题的,因为此时此刻设备连访问百度的能力都没有了。所以打算使用 ping 指令,不断的去 ping 一个 host,如果能正常返回,则说明网络是没问题的。
more >>