gpt4 book ai didi

java - 检查 Activity 互联网连接 Android

转载 作者:搜寻专家 更新时间:2023-10-30 20:55:17 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序中编写一个部分来区分 Activity Wifi 连接和实际互联网连接。使用连接管理器查找是否有 Activity 的 Wifi 连接非常简单,但是每次我尝试测试在 Wifi 连接但没有互联网连接时我是否可以连接到网站,我最终陷入无限循环。< br/>我试过 ping 谷歌,但结果是一样的:

Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
int returnVal = 5;
try {
returnVal = p1.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
boolean reachable = (returnVal==0);
return reachable;

我也试过这段代码:

if (InetAddress.getByName("www.xy.com").isReachable(timeout))
{ }
else
{ }

但我无法让 isReachable 工作。

最佳答案

它对我有用:

验证网络可用性:

private Boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();
}

验证互联网访问:

public Boolean isOnline() {
try {
Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
int returnVal = p1.waitFor();
boolean reachable = (returnVal==0);
return reachable;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}

关于java - 检查 Activity 互联网连接 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17717749/

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