android - 如何在android中检查服务器连接是否可用

标签 android android-layout android-emulator android-networking

可以通过以下方法测试网络连接:

 public boolean isNetworkAvailable() 
{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = cm.getActiveNetworkInfo();

    if (networkInfo != null && networkInfo.isConnected())
    {
        return true;
    }
    return false;
}

但是我不知道如何检查服务器连接。我按照这个方法

public boolean isConnectedToServer(String url, long timeout) {
try{
    URL myUrl = new URL(url);
    URLConnection connection = myUrl.openConnection();
    connection.setConnectTimetout(timeout);
    connection.connect();
    return true;
} catch (Exception e) {
    // Handle your exceptions
    return false;
}

}

它不起作用......有什么想法吗?

最佳答案

您可以使用 isReachable() 检查服务器连接是否可用:

netAddress address = InetAddress.getByName(HOST_NAME);
boolean  reachable = address.isReachable(timeout);

并使用运行时:

Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec("ping www.google.com");

关于android - 如何在android中检查服务器连接是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9955325/

相关文章:

java - Android - 谷歌电子表格 API

java - 空点异常 - ImageLoader

Android,如何知道我的 View 被软键盘adjustPan移动了​​多少

android - 当 IP 在 10.x.x.x 范围内时,通过本地 IP 连接到 android 模拟器

android - 通过 VNC 连接到 Docker 容器中的 Android 模拟器(API 28 错误)

android - 新的 Google 地方信息自动填充功能在点击时崩溃

java - 在 Firebase 数据库上写入用户单击 listView 项目上的按钮

android - 工具 :listitem for custom view extending RecyclerView

android - 特定 api 级别的独家布局 - Android

android - 任何 Android 模拟器都支持 OpenGL ES 顶点数组对象吗?