访问网络可用性状态android

时间:2013-04-19 06:47:02

标签: android android-networking android-internet

我正在开发一个应用程序,我想访问是否有互联网连接。我可以使用

访问网络状态
private Boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
    = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}

但这只是返回手机是否连接到互联网。我想知道连接后是否有互联网可用性。比如,可能是服务器关闭或互联网不可用。请让我知道如何做到这一点!

3 个答案:

答案 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访问是否可用。