Как менять иконку при startForeground?

Ответить
Аватара пользователя
Loncaster
Сообщения: 4
Зарегистрирован: 17 янв 2013, 08:25

Как менять иконку при startForeground?

Сообщение Loncaster » 17 янв 2013, 08:37

Написал сервис, который постоянно в цикле шлет уведомления в виде новой иконки. Но при нехватке памяти система грохает такой процесс, что плохо. Нужно использовать startForeground. Затык в том, что setLatestEventInfo обновляет только текст. Собственно вопрос: как реализовать смену иконки, но с startForeground? Буду очень благодарен за пример.

Аватара пользователя
Loncaster
Сообщения: 4
Зарегистрирован: 17 янв 2013, 08:25

Re: Как менять иконку при startForeground?

Сообщение Loncaster » 17 янв 2013, 22:46

Форум мертв?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как менять иконку при startForeground?

Сообщение KamiSempai » 18 янв 2013, 00:31

Если Вы хоте сделать анимированную анимацию, то это делается следующим образом.
В папке drawable создается xml файл (например animated_notification.xml) с таким содержимым:

Код: Выделить всё

<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
 </animation-list>
Где wheel0, wheel1 ... и так далее - это кадры анимации. Теперь только остается указать на этот drawable при создании объекта Notification.

Код: Выделить всё

Notification notification = new Notification(R.drawable.animated_notification, pMessage, System.currentTimeMillis());
Всё, готово, теперь у Вас анимаированная нотификация.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
Loncaster
Сообщения: 4
Зарегистрирован: 17 янв 2013, 08:25

Re: Как менять иконку при startForeground?

Сообщение Loncaster » 18 янв 2013, 17:27

Да нет же.. Не анимация нужна... У меня шлется информация в виде конкретной иконки с конкретным значением..

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Как менять иконку при startForeground?

Сообщение neoksi » 18 янв 2013, 18:39

Loncaster
Если ты внимательно читал про Notification, то каждому сообщению мы назначаем обратный id, через который мы можем менять данные уведомления. startForeground создает тот же самый Notification, с которым можно общаться через его id.

Аватара пользователя
Loncaster
Сообщения: 4
Зарегистрирован: 17 янв 2013, 08:25

Re: Как менять иконку при startForeground?

Сообщение Loncaster » 18 янв 2013, 22:59

Спасибо, чтото я не подумал..везде в примерах используют seteventlatestinfo..

Ответить