2013-04-02 2 views
4

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

+0

Это может помочь в настоящее время http://www.gadgetsaint.com/android/no-internet-connectivity-android/ – ASP

ответ

0

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

2

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

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/

+0

Link мертв –

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