【发布时间】:2011-04-23 18:02:14
【问题描述】:
我正在为 Android 2.2 开发一个 Ping 应用程序。
我尝试了我的代码,它可以工作,但仅在本地 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 -> 好的
Ping 8.8.8.8 (Google DNS) -> 超时
我也在 Manifest XML 中添加了以下行:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
谁能建议我哪里做错了?
【问题讨论】:
-
还有更多信息^^你是在模拟器还是真机上测试?您是否启用了互联网连接?即在真实设备上确保“移动网络”已激活并且您有互联网连接
-
我在模拟器和连接到互联网的真实设备上进行了测试。谢谢。
-
这个问题你做对了吗?我有同样的问题。如果你解决了这个问题,你能否给我一些建议。问候桑杰
-
我也遇到了同样的问题,如果你发现了请提供解决方案!
-
到了这个链接,我得到了答案,stackoverflow.com/questions/14576710/…