Android: могу ли я проверить, находится ли уведомление моего приложения в строке состояния? - PullRequest
2 голосов
/ 19 июня 2011

Мое приложение выскакивает уведомление о количестве сообщений и устанавливает его как «текущее». Существует таймер, который повторно отправляет уведомление каждые 5 минут, и уведомление имеет флаг Notification.FLAG_ONGOING_EVENT, так что оно может быть очищено только моим приложением. И мое приложение настроено на использование только звука и вибрации, если счет меняется.

Итак, идея в том, что если мое приложение изменяет счет, оно отправляет обновленное уведомление, которое заменяет старое, воспроизводит звук и вибрирует. Но если 5-минутный таймер пытается обновить уведомление, но счетчик не изменился, уведомление все равно отправляется. но без звука или вибрации. Это делается в случае, если уведомление каким-то образом очищено, я хочу, чтобы оно всплыло снова, но если оно все еще там, я не хочу, чтобы пользователь был повторно уведомлен.

Я также сохраняю количество сообщений, чтобы оно запоминалось, если приложение было закрыто, а затем снова открыто. Проблема в том, что когда это происходит (например, если оно принудительно закрыто), старое уведомление остается на панели, но вновь открытое приложение не имеет ни малейшего представления об этом. Поэтому я хотел бы иметь возможность каким-то образом опросить службу уведомлений, чтобы увидеть, отображается ли это оригинальное уведомление, но я не могу найти какой-либо API для этого. Возможно ли это?

Спасибо.

1 Ответ

2 голосов
/ 19 июня 2011

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

Нет.

Тем не менее, вы можете использовать deleteIntent, чтобы узнать, очистил ли пользователь Notification.Или это, или отследите причину вашей проблемы "как-то прояснилось".

...