gpt4 book ai didi

java - 如何以编程方式在 Android 中 ping 一个网站

转载 作者:行者123 更新时间:2023-11-29 23:31:45 25 4
gpt4 key购买 nike

我试图制作一个可以获取网站或 IP 地址的 ping 并在 TextView 中仅显示 ping 号码的应用程序,我正在使用此代码获取 ping:

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

最佳答案

我推荐使用这个库 https://github.com/potterhsu/Pinger

设置1. 在根 build.gradle 中:

allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
  1. 在目标模块 build.gradle 中
    依赖关系{
    编译 'com.github.potterhsu:Pinger:v1.1'
    }

用法1、同步直接Ping:

Pinger pinger = new Pinger();
pinger.ping("8.8.8.8", 3);

2。异步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);

3。异步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);

关于java - 如何以编程方式在 Android 中 ping 一个网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52571339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com