Android: нет иконки для уведомлений - PullRequest
13 голосов
/ 18 мая 2010

Я хотел создать уведомление без иконки в строке состояния (состояние, которое не развернуто). Я попробовал пользовательский расширенный вид и установил значок только для этого вида. Но это не сработало. Когда я даю 0 в качестве значка для конструктора, значок исчезает, но уведомление также не отображается в расширенном представлении.

Уведомление-уведомление = новое уведомление (0, "", 0);

Я перепробовал много комбинаций, но не нашел решения. Кстати, я знаю, что это работает, потому что я видел эту функцию в некоторых приложениях. Спасибо.

Ответы [ 4 ]

25 голосов
/ 05 июля 2012

Теперь это возможно в Android 4.1; эталонная реализация строки состояния Jelly Bean будет подавлять значки для уведомлений PRIORITY_MIN , хотя их содержимое все равно будет отображаться на панели уведомлений.

6 голосов
/ 23 декабря 2010

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

Код:

notification = new Notification();
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_NO_CLEAR;
long hiddenTime = Constants.SDK_VERSION >= 9 ? -Long.MAX_VALUE : Long.MAX_VALUE;
notification.when = visible ? System.currentTimeMillis() : hiddenTime; // align
// left (0) / right (max) in status bar

edit: ой прости, я пропустил важную строку кода, на самом деле он использует заполнитель. Но теперь у вас есть код; -)

* +1007 *

http://code.google.com/p/quick-settings/source/browse/trunk/quick-settings/src/com/bwx/bequick/receivers/StatusBarIntegrationReceiver.java

0 голосов
/ 18 июня 2012

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

Я получил эффект отсутствия уведомлений в строке состояния и уведомления в расширенном списке, когда сделал что-то подобное, за исключением того, что Service.startForeground () выставил один из двух (тот, у которого значок = 0). У меня нет времени больше экспериментировать прямо сейчас.

0 голосов
/ 18 мая 2010

Вы можете использовать прозрачные изображения в качестве значка уведомления. но, как уже упоминалось о molnarm, пользователь не будет уведомлять о новом уведомлении

...