Я разрабатываю приложение 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());
}
}
};
Пинг 127.0.0.1 -> ОК
Ping 8.8.8.8 (Google DNS) -> Тайм-аут
В Manifest XML я также поместил следующую строку:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Может кто-нибудь подсказать, где я не так делаю?