我创建了一个应用程序,当应用程序开始检查它是否在线时(这发生在新线程中),它会ping我的服务器,但它总是说我的服务器处于脱机状态。 google.com和8.8.8.8也是如此,我不知道自己做错了什么。
这是我的代码:
System.out.println(executeCmd("ping -c 10 -w 1 vanlooverenkoen.be", false));
public static String executeCmd(String cmd, boolean sudo) {
try {
Process p;
if (!sudo)
p = Runtime.getRuntime().exec(cmd);
else {
p = Runtime.getRuntime().exec(new String[]{"su", "-c", cmd});
}
BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
String s;
String res = "";
while ((s = stdInput.readLine()) != null) {
res += s + "\n";
}
p.destroy();
return res;
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
这是另一次尝试:没有成功:
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) {
System.out.println("0");
Snackbar.make(mLoginFormView, "Er kan verbonden worden met de server", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
} else {
System.out.println("else");
Snackbar.make(mLoginFormView, "Er kan geen verbinding gemaakt worden tussen uw appraat en de server", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}