Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 持续检查网络连接状态_Java_Android_Network Connection - Fatal编程技术网

Java 持续检查网络连接状态

Java 持续检查网络连接状态,java,android,network-connection,Java,Android,Network Connection,我正在制作一个在线游戏,所以我需要手机随时检查网络连接情况。。 因此,我可以通知用户其Wifi或移动数据出现问题使用此功能检查您的互联网连接,并使用计时器或处理程序定期检查 public static boolean isConnectedToInternet(){ ConnectivityManager cm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SE

我正在制作一个在线游戏,所以我需要手机随时检查网络连接情况。。
因此,我可以通知用户其Wifi或移动数据出现问题

使用此功能检查您的互联网连接,并使用计时器或处理程序定期检查

public static boolean isConnectedToInternet(){
    ConnectivityManager cm =
            (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo activeNetwork = null;
    if (cm != null) {
        activeNetwork = cm.getActiveNetworkInfo();
    }
    // it need to connect to wifi/LTE and can access the internet
    return activeNetwork != null && activeNetwork.isConnectedOrConnecting();
}
可运行

Runnable mStatusChecker = new Runnable() {
    @Override
    public void run() {
        try {
            // check internet connection
        }finally {
            mHandler.postDelayed(mStatusChecker, STATUS_CHECK_INTERVAL);
        }
    }
};

您不需要在Android上进行投票,您可以设置一个广播接收器,当Android 7(API 24)的连接状态发生任何变化时,该接收器将被调用


如果应用程序向
Context.registerReceiver()
注册其
BroadcastReceiver
,只要上下文有效,应用程序将接收
CONNECTIVITY\u ACTION
广播

用于注册广播接收器以获得通知问题标记为“android”的原因是什么?如果它是一个在线游戏,它独立于你用来玩它的平台。