Я разрабатываю приложение Ping для Android 2.2.
Я пытаюсь выполнить свой код, и он работает, но только в локальных IP-адресах, что моя проблема также я хочу сделать ping на внешних серверах.
Вот мой код:
  private OnClickListener milistener = new OnClickListener() {
    public void onClick(View v) {
        TextView info = (TextView) findViewById(R.id.info);
        EditText edit = (EditText) findViewById(R.id.edit);
        Editable host = edit.getText();
        InetAddress in;
        in = null;
        // Definimos la ip de la cual haremos el ping
        try {
            in = InetAddress.getByName(host.toString());
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        // Definimos un tiempo en el cual ha de responder
        try {
            if (in.isReachable(5000)) {
                info.setText("Responde OK");
            } else {
                info.setText("No responde: Time out");
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            info.setText(e.toString());
        }
    }
};
Ping 127.0.0.1 → OK
Ping 8.8.8.8 (Google DNS) → Тайм-аут
Я также помещаю следующую строку в XML-манифест:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Может ли кто-нибудь предложить мне, где я ошибаюсь?
