Это код, который я использую для проверки связи с ipaddress в Android Mobile, но не работает в Android TV ??
Я также пытался удалить условие -c 1, но оно не будет работать.
Также изменена команда ping на ping системы / bin / ping.
String pingCommand = "ping";
StringBuilder echo = new StringBuilder();
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec(pingCommand + " -c 1 -w 2 " + ipAddress);
process.waitFor();
int exit = process.exitValue();
Log.d("abcdbcd", "exit value ===" + exit);
if (exit != 0) {
if (exit == 1) {
Log.d("pingError","failed, exit = 1");
} else {
Log.d("pingError","failed, exit = 2");
}
Log.d("abcdbcd", "exit with 1/2");
return false;
}
else {
InputStreamReader reader = new InputStreamReader(process.getInputStream());
BufferedReader buffer = new BufferedReader(reader);
String line;
while ((line = buffer.readLine()) != null) {
echo.append(line).append("\n");
}
String str_echo = echo.toString();
Log.d("abcdbcd",str_echo);
if (str_echo.contains("100% packet loss"))
{
Log.d("abcdbcd","false");
return false;
}
else
Log.d("abcdbcd","true");
return true;
}
}
catch (Exception e) {
Log.d("abcdbcd", e.toString());
return false;
}