Ping ipaddress не работает в приложении для Android TV, где он прекрасно работает в мобильном приложении для Android с этим кодом - PullRequest
0 голосов
/ 27 марта 2019

Это код, который я использую для проверки связи с 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;
        }
...