Мені потрібно сказати, чи мій пристрій має підключення до Інтернету чи ні. Я знайшов багато відповідей на кшталт:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
(Взяті з " Виявити", чи є підключення до Інтернету на Android .)
Але це неправильно, наприклад, якщо я підключений до бездротової мережі, яка не має доступу до Інтернету , цей метод повернеться істинним… Чи є спосіб сказати, чи є у пристрою підключення до Інтернету, а чи не лише він підключений до чогось?
isNetworkConnected
Функціональний блок містить код застаріле для всіх Build.VERSION.SDK_INT >= Build.VERSION_CODES.M
. Більш поглиблену дискусію з цього питання та способи його вирішення можна знайти тут stackoverflow.com/questions/53532406/…