gpt4 book ai didi

java - 不加return语句避免DD异常

转载 作者:行者123 更新时间:2023-11-29 20:13:59 25 4
gpt4 key购买 nike

我有这段代码,我必须避免 DD 异常“最近的变量被重新定义”。但我也必须避免创建另一个返回语句。我不知道该怎么做。如果有人可以帮助我,那将非常有帮助。

DD异常的代码

public static boolean hasActiveInternetConnection() {
int returnVal = 1;
try {
final Process ping = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
returnVal = ping.waitFor();
} catch (final java.io.IOException | InterruptedException e) {
Log.e(TAG, e.getMessage());
}
return returnVal == 0;
}

双返回异常的代码

public static boolean hasActiveInternetConnection() {
try {
final Process ping = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
final int returnVal = ping.waitFor();
return returnVal == 0;
} catch (final java.io.IOException | InterruptedException e) {
Log.e(TAG, e.getMessage());
}
return false;
}

谢谢!!

最佳答案

public boolean isNetworkActive() {
try {
Process ping = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
return ping.waitFor()==0? true : false;
} catch (final java.io.IOException | InterruptedException e) {
return false;
}

}

顺便说一句,这不是您在 Android 上测试网络连接的方式,这里有一个更有用的方法:

public static boolean checkNetworkStatus(Context context) {

ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);


boolean networkIsMobile = false;
boolean networkIsWiFi = false;
if (wifi != null && wifi.isAvailable() && wifi.isConnected()) {
networkIsWiFi = true;
}
if (mobile != null && mobile.isAvailable() && mobile.isConnected()) {
networkIsMobile = true;
}


boolean networkActive = networkIsMobile || networkIsWiFi;

return networkActive;
} // End of checkNetworkStatus

PS: 我假设 pingFor == 0 表示有网络, pingFor==1 表示无网络,如果相反,则切换它们

关于java - 不加return语句避免DD异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34337166/

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