【发布时间】:2026-02-24 17:05:02
【问题描述】:
请检查以下代码
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
int networkType = ConnectivityManager.TYPE_WIFI;
return cm.requestRouteToHost(networkType, lookupHost("http://www.ati.ag"));
//return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
public static int lookupHost(String hostname) {
InetAddress inetAddress;
try {
inetAddress = InetAddress.getByName(hostname);
} catch (UnknownHostException e) {
return -1;
}
byte[] addrBytes;
int addr;
addrBytes = inetAddress.getAddress();
addr = ((addrBytes[3] & 0xff) << 24)
| ((addrBytes[2] & 0xff) << 16)
| ((addrBytes[1] & 0xff) << 8)
| (addrBytes[0] & 0xff);
System.out.println(addr);
return addr;
}
isOnline 总是返回 false ,请帮助它是如何工作的? 或者请告诉我检查服务器连接的任何其他方式 基本目的是检查本地 wifi 是否可以使用互联网
【问题讨论】:
标签: android android-wifi