Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 129
#1

Убрать уведомление при выходе из приложения - Программирование Android

13.09.2016, 13:37. Просмотров 726. Ответов 24
Метки нет (Все метки)

Привет, нужно удалить уведомление при закрытие приложения. как это сделать? так же на кнопку Home.
А то если выхожу из приложения, а потом перехожу по уведомлению: он подгружает пустою активность без данных.
Java
1
2
3
4
5
6
7
8
....
 NotificationManager notificationManager = (NotificationManager) context //типо создал уведомление
                .getSystemService(Context.NOTIFICATION_SERVICE);
 
        notificationManager.notify(0, builder.build());
 
        notificationManager.cancel(0); // вот так типо удалил
....
[

Добавлено через 9 минут
а все в onDestroy нужно было засунуть
Java
1
 notificationManager.cancel(0);
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2016, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Убрать уведомление при выходе из приложения (Программирование Android):

Уведомление пользователя при выходе из приложения - Программирование Android
Как лучше реализовать? т.е. при нажатии кнопки HOME(железной) или интерфейсной должно выскочить окошко подтверждения типо вы уверены..

Разворачивание приложения при нажатии на уведомление - Программирование Android
Context context = getApplicationContext(); Intent notificationIntent = new Intent(context, this.getClass()); PendingIntent...

Остановить сервис при выходе из приложения - Программирование Android
Начал делать сервис для приложения и сразу возник костыль. Стартую сервис в onCreate активити, сервис постоянно должен работать на...

Автоматическое запоминание позиции при выходе из приложения - Программирование Android
Здравствуйте. Разрабатываю приложение, в котором имеется текст с вертикальной прокруткой. Подскажите, пожалуйста, как реализовать...

Убрать уведомление из статус-бара - Программирование Android
Чтобы убрать уведомление из статус-бара используют: notificationmanager.cancel(int id), но как узнать id уведомления?

Уведомление от неактивного приложения - Программирование Android
Вобщем, суть вопроса в теме-как сделать так, чтобы установленное, но не запущенное приложение через определенные промежутки времени...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
14.09.2016, 08:16 #2
TonyBicbaev, не факт что дестрой будет вызван. Тем более при нажатии хоум
0
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 129
14.09.2016, 08:46  [ТС] #3
И как отслеживать тогда?)
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
14.09.2016, 09:05 #4
TonyBicbaev, единственный 100% действующий способ сделать что то до того как "глаза закрылись" - это поместить код в OnPause, но я не особо понимаю что у вас за задача такая
0
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 129
14.09.2016, 10:09  [ТС] #5
Удалить уведомление если закрыл приложение)
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
14.09.2016, 12:32 #6
TonyBicbaev, нет такого понятия в андроид - закрыл
0
Mikalai
256 / 232 / 93
Регистрация: 11.01.2015
Сообщений: 655
14.09.2016, 15:49 #7
TonyBicbaev, в onPause можно узнать приложение в процессе закрытия или просто в фон уходит при помощи метода isFinishing().
1
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
14.09.2016, 18:43 #8
Mikalai, что будет если система поставила на паузу, а потом убила для того что бы освободить ресурсы без вызова OnDestroy, а потом пришила все приложение целиком?
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
14.09.2016, 19:16 #9
тогда уведомление пропадет
0
vxg
Модератор
3162 / 1965 / 220
Регистрация: 13.01.2012
Сообщений: 7,523
15.09.2016, 06:49 #10
Паблито, если бы система убирала уведомления от мертвых приложений ТС не создал бы эту тему (это я логически просто думаю)
0
Pablito
2494 / 1939 / 605
Регистрация: 12.05.2014
Сообщений: 6,798
Завершенные тесты: 1
15.09.2016, 11:57 #11
тогда как вариант
1. из onCreate приложения или активити запускаем сервис, в котором в onStartCommand вытираем сообщения
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class MyService extends Service {
    public MyService() {
    }
 
    @Override
    public IBinder onBind(Intent intent) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
 
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        nm.cancelAll();
        return super.onStartCommand(intent, flags, startId);
    }
}
2. с небольшой задержкой выводим нотификейшн, так что бы сервис успел стартануть
3. если "убить" приложение, например кнопкой Terminate Application в AndroidMonitor, то через 1-2 секунды сервис перезапустится и уберет оповещения
4. в onDestroy тоже оставить код, который убирает оповещения, на случай коректного завершения приложения
0
ExFau$t
293 / 269 / 47
Регистрация: 08.05.2012
Сообщений: 1,455
15.09.2016, 12:19 #12
Я что-то совсем не понимаю, уведомление уже висит в шторке, зачем его удалять? Если оно не нужно зачем его надо было выводить и делать 150 костылей?
Цитата Сообщение от TonyBicbaev Посмотреть сообщение
перехожу по уведомлению: он подгружает пустою активность без данных.
Просто залить валидный интент, с валидными extra. Грубо говоря, если приложение запущено, просто переоткроется окно, если закрыто, будет запущено.
0
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 129
15.09.2016, 12:40  [ТС] #13
ExFau$t,
Там переход, на список чатов, и диалогов, которые я получаю при подключение к серверу
Уведомление приходит если пришло сообщение.
Если я закрою приложение а уведомление висит, и потом перейду по нему оно под грузиться без данных, и вообще соединения нет.
Думаю как правильно соединение сделать тут Приём сообщений от сервера в фоне
0
ExFau$t
293 / 269 / 47
Регистрация: 08.05.2012
Сообщений: 1,455
15.09.2016, 12:51 #14
TonyBicbaev, ну так подгрузи данные. И вообще если
Цитата Сообщение от TonyBicbaev Посмотреть сообщение
Уведомление приходит если пришло сообщение.
а потом ты выходишь из приложения, значит у тебя уже всё пришло, и ничего подгружать не нужно (кстати, а зачем выводить оповещение, если я нахожусь в приложении?)
0
TonyBicbaev
3 / 3 / 0
Регистрация: 04.11.2013
Сообщений: 129
15.09.2016, 12:57  [ТС] #15
ExFau$t,
В смысле прям убиваю. Оно уже не работает.
Если просто сверну, то все норм. или в свернутом виде если придет то тоже все норм открывается.
Оповещающие должно открывать нужный чат. (а про то что в приложение, это не мои причуды.)
Цитата Сообщение от ExFau$t Посмотреть сообщение
а потом ты выходишь из приложения, значит у тебя уже всё пришло, и ничего подгружать не нужно
А насчет подгружать, нужно сервис грамотный написать, над чем и работаю.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2016, 12:57
Привет! Вот еще темы с ответами:

Убрать панель с названием приложения при редактировании лаяута - Программирование Android
Подскажите как можно избавится от bar-а где написано название приложения именно при редактировании лаяута. Так как если использовать...

Действие при сворачивании или при выходе - Программирование Android
Добрый вечер. Вот такой небольшой вопрос. Какими действиями можно сделать так, чтобы к примеру когда пользователь сворачивал...

Открыть старое активити при клике на уведомление - Программирование Android
Добрый день. Есть такая штука: создается уведомление, оно появляется, при этом приложение по сути закрывается finish(); Далее при...

Почему выскакивает уведомление при попытке запустить apk ? - Программирование Android
Добрый день, открываю APK файл для установки его на android с помощью данного кода Intent intent = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.09.2016, 12:57
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru