Постоянная проверка состояния сетевого подключения
Я создаю онлайн-игру, поэтому мне нужен телефон, чтобы постоянно проверять сетевое подключение... чтобы я мог уведомить пользователя, что что-то пошло не так с его Wi-Fi или мобильными данными
2 ответа
Вам не нужно опрашивать на Android, вы можете настроить приемник вещания, который будет вызываться при любом изменении состояния подключения с Android 7 (API 24)
Приложения получат CONNECTIVITY_ACTION
трансляции, если они регистрируют свои BroadcastReceiver
с Context.registerReceiver()
до тех пор, пока контекст действителен.
Используйте это для проверки вашего интернет-соединения и используйте таймер или обработчик, чтобы периодически проверять его
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);
}
}
};