我正在开发一个应用程序,我想访问是否有互联网连接。我可以使用
访问网络状态private Boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
但这只是返回手机是否连接到互联网。我想知道连接后是否有互联网可用性。比如,可能是服务器关闭或互联网不可用。请让我知道如何做到这一点!
答案 0 :(得分:2)
要检查它是否是可用的Internet连接,而不仅仅是您已连接到Internet。您可以尝试从站点获取已知地址/资源,例如1x1 PNG图像或1字节文本文件。它还会回答您的服务器状态。 :)
答案 1 :(得分:2)
检查正常实施的互联网连接,但如果您想知道您的服务器是否正常运行,首先您需要发送ping或发送存根请求(例如:使用任何参数发送请求)到您的服务器。如果回答是,那么您可以与服务器完美配合。
答案 2 :(得分:1)
试试这个,
URL url = new URL("Your URL");
URLConnection conexion = url.openConnection();
conexion.setConnectTimeout(10000); // Don't forget to put a time limit
conexion.connect();
超时后(上述例子为10秒),它将超时异常。 因此,您可以使用它来检查Internet访问是否可用。