Страница 1 из 1

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

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

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

Добавлено: 17 янв 2013, 22:46
Loncaster
Форум мертв?

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

Добавлено: 18 янв 2013, 00:31
KamiSempai
Если Вы хоте сделать анимированную анимацию, то это делается следующим образом.
В папке 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());
Всё, готово, теперь у Вас анимаированная нотификация.

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

Добавлено: 18 янв 2013, 17:27
Loncaster
Да нет же.. Не анимация нужна... У меня шлется информация в виде конкретной иконки с конкретным значением..

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

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

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

Добавлено: 18 янв 2013, 22:59
Loncaster
Спасибо, чтото я не подумал..везде в примерах используют seteventlatestinfo..