Постоянно проверять состояние сетевого подключения - PullRequest
0 голосов
/ 19 октября 2018

Я создаю онлайн-игру, поэтому мне нужно, чтобы телефон постоянно проверял сетевое подключение ... чтобы я мог уведомить пользователя о том, что что-то не так с его Wi-Fi или мобильными данными

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Вам не нужно опрашивать на Android, вы можете настроить приемник вещания, который будет вызываться при любом изменении состояния подключения с Android 7 (API 24)

Приложения будут получать CONNECTIVITY_ACTION трансляции, еслиони регистрируют свои BroadcastReceiver с Context.registerReceiver(), пока контекст действителен.

0 голосов
/ 19 октября 2018

используйте это, чтобы проверить ваше интернет-соединение, и используйте таймер или обработчик, чтобы периодически проверять его

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