Я следил за this, чтобы проверить доступность интернет-соединения. Проблема, с которой я сталкиваюсь, заключается в том, что даже когда мой рабочий стол (действующий как точка доступа Wi-Fi) не имеет подключения к Интернету, этот код возвращается положительно. Я хочу убедиться, что если сигнал Wi-Fi отсутствует, результат должен быть отрицательным. Можно ли это достичь?Android: проверка на подключение к Интернету
ответ
Итак, у вас есть метод, который говорит вам, доступно ли или нет подключения к Интернету, но вы думаете , что этого недостаточно, поскольку он не описывает качество соединения.
Вы можете попробовать опросить какой-либо веб-сайт, чтобы увидеть, если вы получите ответ и на его основе решите, следует ли выполнять какой-либо сетевой запрос. Но, на мой взгляд, это не стоит.
Вместо этого вы можете просто отправить запрос и обработать возможную сетевую ошибку, потому что это то, что вам нужно делать в любом случае (сервер может быть отключен). Итак, зачем делать дополнительные тесты?
Это код, я использую, чтобы проверить, есть ли подключение к Интернету в моем приложении, и он работал на меня:
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return ((activeNetworkInfo != null) && activeNetworkInfo.isConnected());
}
Хотя ваше устройство подключено к Wi-Fi, вы можете не получить входные данные. Таким образом, вы можете свистеть Google.com или любой другой сайт и посмотреть, если это отвечает обратно с кодом 200.
public class internetchek extends AsyncTask<Void,Void,Void> {
public boolean connection;
Context ctx;
public internetchek(Context context){
this.ctx = context;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
if(isNetworkAvailable(this.ctx))
{
Log.d("NetworkAvailable","TRUE");
if(connectGoogle())
{
Log.d("GooglePing","TRUE");
connection=true;
}
else
{
Log.d("GooglePing","FALSE");
connection=false;
}
}
else {
connection=false;
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
}
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected()) {
return true;
}
return false;
}
public static boolean connectGoogle() {
try {
HttpURLConnection urlc = (HttpURLConnection) (new URL("http://www.google.com").openConnection());
urlc.setRequestProperty("User-Agent", "Test");
urlc.setRequestProperty("Connection", "close");
urlc.setConnectTimeout(10000);
urlc.connect();
return (urlc.getResponseCode() == 200);
} catch (IOException e) {
Log.d("GooglePing","IOEXCEPTION");
e.printStackTrace();
return false;
}
}}
- 1. Проверка на подключение к Интернету
- 2. Ионная проверка Подключение к Интернету
- 3. Android: подключение к интернету
- 4. Проверка подключения к Интернету Android
- 5. Проверка на подключение к интернету постоянно с android
- 6. Проверка подключения к Интернету на Android
- 7. Проверка подключения к Интернету Android
- 8. Проверка подключения к Интернету на Android
- 9. Android, проверьте подключение к интернету
- 10. Android подключение к Интернету проблема
- 11. Подключение к Интернету в Android
- 12. Подключение к Интернету в Android
- 13. Телефонная проверка проверить подключение к Интернету
- 14. Подключение к Интернету Проверка телефонного звонка
- 15. Предварительное подключение к Интернету
- 16. Проверка устройства имеет подключение к Интернету
- 17. подключение к Интернету и проверка его
- 18. Проверьте подключение к Интернету
- 19. charles proxy подключение к интернету
- 20. проверка подключения к Интернету
- 21. Проверьте подключение к Интернету в android (не сетевое подключение)
- 22. Проверка подключения к Интернету на android
- 23. Проверка подключения к Интернету на android
- 24. Проверка подключения к Интернету
- 25. Проверка подключения к Интернету в android
- 26. Проверка подключения к Интернету с сервисом на android
- 27. Проверьте подключение к Интернету
- 28. Закрыть Подключение к Интернету
- 29. Подключение к Интернету
- 30. iPhone подключение к Интернету
Если у вас на рабочем столе нет соединения, которое действует как ваш маршрутизатор/модем, вы можете проверить, что ваше соединение активно, вызывая ваш веб-сервер или Google.com. –
Вы попробовали мой ответ и сделали это для вас? – Vucko
Привет Vucko ... ваш метод работает отлично. – Mandroid