我正在尝试检查androidstudio中的互联网连接。 但是我从网站上找到的所有代码对我都没用。我在网站上找到的原因代码是在没有连接的情况下工作的。但是当设备连接到互联网时速度很慢,它会冻结或经过很长一段时间后才能完成其检查。那么无论如何都要设置cheking连接的时间限制。有人有任何线索吗?感谢。
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
return !ipAddr.equals("");
} catch (Exception e) {
return false;
}
}
我尝试了这个,但它没有用,我的程序再次冻结。
答案 0 :(得分:0)
问题有点模糊,但试试这个
private boolean isConnectedToInternet() {
ConnectivityManager connectivity = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
检查所有互联网连接;无线,有线,来自ISP的数据
答案 1 :(得分:0)
试试这个......
// NETWORK AND CONNECTIVITY CHECK METHOD
public static boolean isNetworkAvailable (Context context) {
try {
ConnectivityManager connectionManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netowrkInfo = connectionManager.getActiveNetworkInfo();
return netowrkInfo != null && netowrkInfo.isConnected();
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
可能有帮助......