Как справиться с подключением к Интернету?

Мое приложение загружает данные из Интернета и показывает их пользователю. Чтобы предотвратить сбои приложений, вызванные отсутствием подключения к Интернету, я воспользовался функцией, которая проверяет, есть ли она до начала загрузки. Я не знаю, как обращаться с случаями, когда соединение падает при загрузке загрузки (в AsyncTask). Catch ing Exepctions не работает в моем случае 🙁 Если есть какие-либо идеи или ссылки на учебные пособия, пожалуйста, поделитесь им. Спасибо заранее

Надеюсь, это поможет. Независимо от того, какую деятельность вы выполняете, загрузка должна создать BroadcastReceiver, который может обрабатывать уведомления о статусе подключения. Затем вы будете уведомлены о том, что соединение упало и может обрабатывать его более изящно … например, ожидая уведомления о возврате подключений и перезагрузке:

 private BroadcastReceiver mConnReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { boolean missingConnection = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON); // do whatever you need to based on current network state } 

На этой странице также есть хорошая информация: http://thiranjith.com/2011/03/31/how-to-monitor-network-connectivity-in-android/

Вы можете периодически проверять, чтобы соединения происходили за пределами AsyncTask или в другом потоке. Затем, если соединение падает, вы можете отменить AsyncTask, вызвав cancel() .

Intereting Posts
Как нарисовать круг с прозрачной средой Кинжал 2: предоставить один и тот же экземпляр между несколькими компонентами с одинаковой областью действия на разных библиотечных модулях Воспроизведение HLS с помощью ExoPlayer Почему предварительный просмотр камеры поворачивается на 90 градусов в эмуляторе Android? OnClickListener первого элемента GridView не работает Обновление зависимостей Gradle Как сделать Android EditText вертикально развернутым, когда Как изменить заголовок в навигационном ящике Как включить горизонтальную прокрутку на вкладке, например Google Play? Перетаскивание нескольких видов кнопок в java Путают между syncAdapter, сервисами, загрузчиками, провайдерами и asynctask? Ошибка GoogleJsonResponse: 500 Внутренняя ошибка сервера Как получить имя файла при нажатии на URL в webview Клавиатура Отображена позиция перепутанных элементов Использование службы для запуска фона и создания уведомлений