169 похожих чатов

Привет. Есть ли универсальный способ выяснить, стоит ли на устройстве

фильтр трафика или фаервол типа adguard, из-за которого приложение не может достучаться до тырнета? Или только на все случаи жизни показывать сообщение, чтоб в случае наличия пользователь разрешил доступ и тп

4 ответов

20 просмотров

public boolean isOnline() { Runtime runtime = Runtime.getRuntime(); ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager != null) { Network activeNetwork = connectivityManager.getActiveNetwork(); if (activeNetwork != null) { NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork); if (!(networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) || networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET))) { return false; } } else { return false; } } else { return false; } try { Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8"); int exitValue; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { ipProcess.waitFor(2, TimeUnit.SECONDS); exitValue = ipProcess.exitValue(); } else { exitValue = ipProcess.waitFor(); } return exitValue == 0; } catch (IOException | InterruptedException | IllegalThreadStateException e) { return false; } }

java73- Автор вопроса

Ну то есть хардкордно пингануть любой публичный днс, я так и думал.

Больше лучше для себя не нашел

1. А зачем публичный, запрашивай только свои да файрбезов, аппметрик всяких 2. ICMP в локалке и на другой стороне может быть запрещён

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта