Android: принудительное закрытие при изменении подключения во время загрузки - PullRequest
1 голос
/ 19 октября 2011

Итак, я загружаю URL с помощью Asynctask и обработал все возможные проблемы с подключением до начала загрузки, но теперь мое приложение закрывается при переключении с данных на wifi во время загрузки. Итак, вопрос:

Должен ли я выполнять Asynctask в службе или есть способ ее приостановить и возобновить при наличии доступного соединения? У меня уже есть приемник, который начинает загрузку сразу после подключения:

    if (isOnline()) {
        getData();
    } else {
        IntentFilter intentFilter = new IntentFilter(
                "android.net.conn.CONNECTIVITY_CHANGE");
        registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                if (isOnline()) {
                    unregisterReceiver(this);
                    getData();
                }
            }
        }, intentFilter);
    }

Но как я могу возобновить Asynctask после того, как подключение станет доступно?

1 Ответ

0 голосов
/ 19 октября 2011

Это, безусловно, вы хотите сделать в фоновом режиме на службе.Могу ли я предложить посмотреть документацию для класса IntentService ?Делая это в сервисе, вам не нужно возиться со всей мерзостью, связанной с очисткой AsyncTask в Activity.И служба будет продолжать работать в фоновом режиме, пока загрузка не будет завершена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...