Как восстановить соединение с уведомлением о намерении запустить AsyncTask на Android? - PullRequest
2 голосов
/ 23 мая 2011

Я загружаю файлы в свое приложение через AsyncTask.Пока идет загрузка, я создаю уведомление в панели уведомлений и отображаю индикатор ProgressBar в своей активности.

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

Как я могу вернуться в состояние, в котором мое приложение находилось до ухода пользователя?С моим обновлением AsyncTask ProgressBar?

Большое спасибо!
Деннис

1 Ответ

1 голос
/ 23 мая 2011

Для загрузки / выгрузки файлов вы должны использовать IntentService .Что он делает, так это то, что он продолжает работать до тех пор, пока операция не будет завершена, а затем завершит себя.Еще лучше, вы можете использовать WakefulIntentService .

Теперь, пока идет загрузка, вы можете сохранить прогресс, сохраненный в вашем сервисе, и при его нажатии запускается Намерение, которое воссоздает действие с ProgressBar, инициализированным для текущего прогресса загрузки.Вам нужно будет установить соответствующий флаг Intent , чтобы не создавать заново это действие, если оно уже присутствует.

Более того, вы можете показать прогресс на панели уведомлений, используяпользовательский вид.Зависит от того, какое поведение вы хотите.

...