Java 如何在Android中以编程方式ping网站
我正在尝试制作一个应用程序,可以获取网站或ip地址的ping,并在文本视图中显示ping号码,我使用以下代码获取ping:Java 如何在Android中以编程方式ping网站,java,android,ping,Java,Android,Ping,我正在尝试制作一个应用程序,可以获取网站或ip地址的ping,并在文本视图中显示ping号码,我使用以下代码获取ping: public void fExecutarPing(View view){ Editable host = edtIP.getText(); try { String cmdPing = "ping -c 1 -w 1 "+host; Runtime r = Runtime.getRuntime();
public void fExecutarPing(View view){
Editable host = edtIP.getText();
try {
String cmdPing = "ping -c 1 -w 1 "+host;
Runtime r = Runtime.getRuntime();
Process p = r.exec(cmdPing);
BufferedReader in = new BufferedReader( new InputStreamReader(p.getInputStream()));
String inputLinhe;
while((inputLinhe = in.readLine())!= null){
Toast.makeText(this, inputLinhe, Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
Toast.makeText(this, "Error: "+e.getMessage().toString(), Toast.LENGTH_SHORT).show();
}
这段代码只会给我多个toast消息,就像在windows命令中ping一样,但我如何才能获得ping编号例如:85我建议使用此库 设置 1.在root build.gradle中:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
依赖关系{
编译'com.github.potterhsu:Pinger:v1.1'
}
Pinger pinger = new Pinger();
pinger.ping("8.8.8.8", 3);
二,。在异步中Ping,直到成功:
Pinger pinger = new Pinger();
pinger.setOnPingListener(new Pinger.OnPingListener() {
@Override
public void onPingSuccess() { ... }
@Override
public void onPingFailure() { ... }
@Override
public void onPingFinish() { ... }
});
pinger.pingUntilSucceeded("8.8.8.8", 5000);
三,。在异步中Ping,直到失败:
Pinger pinger = new Pinger();
pinger.setOnPingListener(new Pinger.OnPingListener() {
@Override
public void onPingSuccess() { ... }
@Override
public void onPingFailure() { ... }
@Override
public void onPingFinish() { ... }
});
pinger.pingUntilFailed("8.8.8.8", 5000);