2016-05-05 2 views
0

с этой функцией я проверяю, есть ли подключение к интернет-сети, я вызываю эту функцию в методе oncreate().Если нет подключения к интернету, когда я запускаю приложение, я показываю предупреждение и «ОК», кнопка, когда нажата кнопка ok, я закрываю приложение. Если подключение к Интернету снижается после того, как пользователь запускает оповещение приложения, это больше не отображается! Вопросы касательно, где лучше всего позвонить функции, чтобы постоянно проверять Интернет , в стартовом приложении и даже после того, как приложение было запущено! Можно позвонить дважды, oncreate() и onresume()?андроид проверить подключение к Интернету лучшее место для вызова функции

private boolean isNetworkAvailable() { 
     ConnectivityManager connectivityManager 
       = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
     return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
    } 
+0

Перед выполнением сетевого вызова добавьте проверку сети. Скажем, прежде чем извлекать данные из API. – Krishna

+0

В этом случае вы должны проверить код ответа http. если подключение к Интернету вниз во время HTTP-запроса через определенное время вы получите код ответа. то вы решаете, что вы будете делать, зависит от кода ответа. Наиболее вероятно, что код ответа на соединение равен 503. – Masum

+0

не ожидаемые ответы .... –

ответ

0

Похоже на то, что вы просите, это своего рода метод мониторинга изменений в подключении во время работы приложения.

Это распространенная проблема, и есть простые решения, которые уже существуют в рамках Android, чтобы справиться с этой задачей.

Я думаю, что самым простым решением является использование широковещательного приемника для прослушивания трансляций из ConnectivityManager. Из справки Android Developer "Determining and Monitoring the Connectivity Status":

ConnectivityManager транслирует CONNECTIVITY_ACTION ("android.net.conn.CONNECTIVITY_CHANGE") действие, когда изменили детали подключения. Вы можете зарегистрировать широковещательный приемник в манифесте, чтобы прослушать эти изменения и соответствующим образом возобновить (или приостановить) ваши фоновые обновления.

По предоставленной ссылке есть гораздо больше информации. В вашем случае, конечно, вы не можете управлять обновлением фона, но основная проблема, решаемая, одинакова.

Смежные вопросы