每隔几秒检查一次互联网连接的最佳方法是什么?

时间:2017-04-21 11:00:11

标签: android

我希望我的应用程序始终在线。为此,我在服务中实现一个线程,该线程每隔5秒就重复检查一次因特网。那么最好的方法是什么?我希望我的代码能够始终在后台运行并且易于使用资源。我在服务中尝试了一个线程,但它使我的设备滞后。

public Boolean isOnline() {
try {
    Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
    int returnVal = p1.waitFor();
    boolean reachable = (returnVal==0);
    return reachable;
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
return false;
}

2 个答案:

答案 0 :(得分:0)

  

每隔几秒

无。合并 BAD 。您有ConnectivityManager提供回调以了解有关网络状态更改的信息。

答案 1 :(得分:-1)

您可以使用此代码

<div id="header" id="collapseThisDiv">
   <img src="img/logo.png"></img><br>
   <h3>HEADING</h3>
   <blockquote class="form-text text-muted">Long Text in here</blockquote>
</div>
<div id="header" id="expandThisDiv">
    <img src="img/logo.png"></img><br>
    <h3>HEADING</h3>
</div>

click here了解更多详情

使用方法:

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;
    }

}