如何每隔N秒检查一次android中的Internet连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何每隔N秒检查一次android中的Internet连接相关的知识,希望对你有一定的参考价值。

我想每隔N秒检查互联网连接状态我该怎么做

我想在android设备收到短信时发送邮件

答案

每N秒检查一次互联网连接:

使用isNetworkAvailable()方法创建NetworkUtils,该方法根据连接状态返回true或false:

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class NetworkUtils {
    public static boolean isNetworkAvailable(Context context) {
        ConnectivityManager connectivityManager
                = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }
}

创建一个CheckConnection()类,每隔N秒检查一次连接:

class CheckConnection extends TimerTask {
    private Context context;
    public CheckConnection(Context context){
        this.context = context;
    }
    public void run() {
        if(NetworkUtils.isNetworkAvailable(context)){
            //CONNECTED
        }else {
            //DISCONNECTED
        } 
    }
}

您可以在活动中使用CheckConnection类,例如:

Timer timer = new Timer();
final int MILLISECONDS = 5000; //5 seconds
timer.schedule(new CheckConnection(this), 0, MILLISECONDS);

希望这可以帮助!

以上是关于如何每隔N秒检查一次android中的Internet连接的主要内容,如果未能解决你的问题,请参考以下文章

Android:FusedLocationProvider,每隔几秒获取一次位置

没有写入时,为啥 Elasticsearch 每隔“n”秒执行一次索引?

python循环控制间隔。

在Swift 2.0中每隔n分钟更新一次背景中的位置

为啥我没运行winrar 却在任务管理器中每隔10秒左右出现一次

如何使用协程在android中每1秒检查一次GPS可用性