скрыть индикатор прогресса области уведомлений в Android, когда 100% завершено - PullRequest
8 голосов
/ 20 марта 2012

Я использую этот урок

для отображения уведомления с индикатором выполнения.

Все отлично работает.

Но я не могу заставить прогресс исчезнуть, когда задача выполнена на 100%

Как я могу это сделать? ТХ

Ответы [ 5 ]

23 голосов
/ 23 марта 2014

Вот оно:

Notification.setProgress(0, 0, false);

Где первый параметр обозначает min, а второй параметр обозначает максимальное значение. Не забудьте позвонить:

Notification.notify(id, NotificationManager);
1 голос
/ 21 марта 2012

Я нашел «решение», которое работает.

Просто вызовите новый RemoteView без индикатора выполнения в его макете, когда задача будет выполнена

В учебном пособии, которое я использую, у меня есть файл progress.xml, который называется:

            notification.contentView 
= new RemoteViews(getApplicationContext().getPackageName(), R.layout.progress);

когда задание выполнено на 100%, звоните:

            notification.contentView = 
new RemoteViews(getApplicationContext().getPackageName(), R.layout.done);

так что layout done.xml заменяет progress.xml

0 голосов
/ 25 декабря 2013

Чтобы удалить ProgressBar из RemoteView, используйте следующий код: -

 remoteViews.setViewVisibility(R.id.progressBar, View.INVISIBLE);

Вы также можете использовать View.GONE, но это сделает Android заполняющим пустое пространство.

0 голосов
/ 21 марта 2012

попробуй:

 ProgressBar.setVisibilty(View.INVISIBLE) 
0 голосов
/ 20 марта 2012

Используйте это:

 notificationManager.cancel(MY_NOTIFICATION_ID);
...