Это всего лишь небольшой обзор, чтобы дать вам несколько ключевых слов.
Прежде всего, как создать уведомление должно быть довольно простым и хорошо задокументировано. Если вы не знаете, как создать обычное уведомление, ознакомьтесь с Уведомления в строке состояния .
Следующим шагом является создание уведомления с пользовательским макетом, содержащим ProgressBar
(так как для этого afaik нет предварительно созданного макета) , который также задокументирован на той же странице . После того, как вы создали для этого Notification
экземпляр, вы должны сохранить ссылку и использовать ее для обновления вашего ProgressBar
через
notification.contentView.setProgressBar(R.id.yourprogressbar, 100, 42, false);
nm.notify(notificationId, notification);
nm
является здесь ссылкой NotificationManager
, также см. RemoteViews.setProgressBar ()
Это в основном UI-сторона вещей. Для фактической загрузки файла в фоновом режиме вы должны использовать Сервис , который использует AsyncTask (поскольку сервисы запускаются в потоке пользовательского интерфейса - имя часто вводит в заблуждение) . Вы можете использовать AsyncTask.publishProgress()
для отправки обновлений о прогрессе загрузки в UI-поток и обновления индикатора выполнения внутри AsyncTask.onProgressUpdate()
.