Урок 99. Service. Уведомления - notifications

Обсуждение уроков
etlt
Сообщения: 8
Зарегистрирован: 30 авг 2012, 20:19

Re: Урок 99. Service. Уведомления - notifications

Сообщение etlt » 31 авг 2012, 12:36

neoksi писал(а):
etlt писал(а):Подскажите: как при клике на уведомление вызвать тот же самый экземпляр Activity?

Опишу проблему: Из активити запускается сервис который вызывает уведомление, однако при клике на уведомление открывается тоже самое Активити, НО новое т.е. в итоге имеем 2 одинаковые запущенные активи, а нужно чтобы из уведомление вызывалось только 1 активити
Вот сам сегодня с этим же столкнулся, решение тут: viewtopic.php?f=35&t=1159
Спасибо! Теперь порядок =)

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 31 авг 2012, 15:00

как ни пробовал, вот это в логах

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

08-30 17:27:11.594: D/myLogs(1592): onCreate
08-30 17:27:16.614: D/AndroidRuntime(1592): Shutting down VM
08-30 17:27:16.614: W/dalvikvm(1592): threadid=1: thread exiting with uncaught exception (group=0x40015560)
08-30 17:27:16.625: E/AndroidRuntime(1592): FATAL EXCEPTION: main
08-30 17:27:16.625: E/AndroidRuntime(1592): java.lang.RuntimeException: Unable to start service com.example.baseservice.MyService@40518598 with Intent { cmp=com.example.baseservice/.MyService }: java.lang.IllegalArgumentException: contentIntent required: pkg=com.example.baseservice id=1 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x10)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2052)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.ActivityThread.access$2800(ActivityThread.java:117)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:994)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.os.Handler.dispatchMessage(Handler.java:99)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.os.Looper.loop(Looper.java:123)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at java.lang.reflect.Method.invokeNative(Native Method)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at java.lang.reflect.Method.invoke(Method.java:507)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at dalvik.system.NativeStart.main(Native Method)
08-30 17:27:16.625: E/AndroidRuntime(1592): Caused by: java.lang.IllegalArgumentException: contentIntent required: pkg=com.example.baseservice id=1 notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x10)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.os.Parcel.readException(Parcel.java:1326)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.os.Parcel.readException(Parcel.java:1276)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag(INotificationManager.java:274)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.NotificationManager.notify(NotificationManager.java:111)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.NotificationManager.notify(NotificationManager.java:91)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at com.example.baseservice.MyService.sendNotif(MyService.java:40)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at com.example.baseservice.MyService.onStartCommand(MyService.java:30)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2039)
08-30 17:27:16.625: E/AndroidRuntime(1592): 	... 10 more

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 31 авг 2012, 15:19

Видимо у меня какие-то косяки с Пендингом...
Вопрос - зачем в уведомлении указывать какую-то активити, если мне ничего не надо открывать, а только показать уведомление?

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 31 авг 2012, 15:25

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

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

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 31 авг 2012, 15:27

powercat писал(а):да, точно...забил туда активити - заработало...но оно мне не нужно там...мне требуется просто уведомление, чтобы ничего больше не открывалось при нажатии - какэ то сделать?
Ты там указываешь родителя.

etlt
Сообщения: 8
Зарегистрирован: 30 авг 2012, 20:19

Re: Урок 99. Service. Уведомления - notifications

Сообщение etlt » 31 авг 2012, 16:18

Подскажите как к notif.sound присвоить Звук из ресурса например R.raw.sound ?

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

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 31 авг 2012, 16:27

etlt писал(а):Подскажите как к notif.sound присвоить Звук из ресурса например R.raw.sound ?
Вот тут http://developer.android.com/intl/ru/gu ... html#Sound в принципе все примеры есть, тебе просто необходимо создать правильный Uri к своей музыке.
[*]Uri introURI;
introURI = Uri.parse("android.resource://your.app.package/" + R.raw.intro);[/*]

П.С. сори, пришлось разместить так код, так как движок форума uri преобразовывал в ссылку.

etlt
Сообщения: 8
Зарегистрирован: 30 авг 2012, 20:19

Re: Урок 99. Service. Уведомления - notifications

Сообщение etlt » 31 авг 2012, 16:35

neoksi писал(а):
etlt писал(а):Подскажите как к notif.sound присвоить Звук из ресурса например R.raw.sound ?
Вот тут http://developer.android.com/intl/ru/gu ... html#Sound в принципе все примеры есть, тебе просто необходимо создать правильный Uri к своей музыке.
[*]Uri introURI;
introURI = Uri.parse("android.resource://your.app.package/" + R.raw.intro);[/*]

П.С. сори, пришлось разместить так код, так как движок форума uri преобразовывал в ссылку.
о! большое спасибо - все заработало )

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 01 сен 2012, 20:21

neoksi писал(а):
powercat писал(а):да, точно...забил туда активити - заработало...но оно мне не нужно там...мне требуется просто уведомление, чтобы ничего больше не открывалось при нажатии - какэ то сделать?
Ты там указываешь родителя.
Не понял, как родителя? Там указывается активити, которую надо открыть...как сделать так, чтобы по клику ничего, кроме закрывания уведомления не происходило?

Jovfer
Сообщения: 1
Зарегистрирован: 04 сен 2012, 22:38

Re: Урок 99. Service. Уведомления - notifications

Сообщение Jovfer » 04 сен 2012, 22:42

использование RemoteViews в Notification позволяет нарисовать в уведомлении кнопку. Вопрос: можно ли обработать нажатие на нее? (интересует API10, на более новых вроде без проблем).

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 19 сен 2012, 16:23

Новый вопрос - уведомления отправляются и чем больше их, тем больше они места в баре занимают. Если не помещаются - начинают отображаться накопленными+остаются те, что занимают место.
Как сделать так, чтобы отображалось одно+их общее количество (чтобы бар не забивали собой)?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Урок 99. Service. Уведомления - notifications

Сообщение damager82 » 19 сен 2012, 16:35

powercat писал(а):Новый вопрос - уведомления отправляются и чем больше их, тем больше они места в баре занимают. Если не помещаются - начинают отображаться накопленными+остаются те, что занимают место.
Как сделать так, чтобы отображалось одно+их общее количество (чтобы бар не забивали собой)?
А поле number? В конце урока я об этом говорю и скрин есть.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 19 сен 2012, 19:53

Блин...точно, вот я туплю....
Только непонятно, это что за число? Сколько уведомлений будет храниться в таком виде, а остальные - забивать бар? Или как?

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 19 сен 2012, 20:22

Поставил number=10
появились три уведомления в баре, в рядок, и у каждого зночок 10 )))) ржака
Как сделать так, чтобы было ОДНО, но при поступлении новых у него значок числа бы увеличивался, но сами уведомления не обновлялись, а добавлялись?

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 21 сен 2012, 16:33

Никто не знает...плохо...не есть хорошо забить своими уведомлениями весь бар, когда надо одно сообщение, и к нему блямбу с их общим количеством

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

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 21 сен 2012, 16:45

Извини за грубость, но в уроке все это есть, стоит только включить логику, перечитай урок и если будешь внимателен, то решение найдешь.

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 22 сен 2012, 11:58

Нет этого в уроке...
Я понимаю, как передать номер, ID и т.д....номер у каждого следующего увеличивается, отображается, уведомления встают в очередь...тут проблем нет.
НО - при поступлении каждого нового они начинают отображаться в баре...вот так, образно (не могу тут картинку почему-то разместить)...NOT1 NOT2 NOT3 NOT4
А надо вот так NOT4...чтобы не забивать бар, но и не обновлять уведомления, чтобы их очередь сохранялась...
Т.е. если мне надо послать сразу 20 уведомлений, было NOT20 отображено, и за шторку - и все их можно прочесть

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

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 22 сен 2012, 20:33

Так и не забивай нотификацию сообщениями, держи там только одно сообщение, при клике на которое открывается одна из твоих активити в которой содержится вся история сообщений.

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Урок 99. Service. Уведомления - notifications

Сообщение powercat » 23 сен 2012, 09:34

ооо...а как это сделать? В базу сообщения заливать?

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

Re: Урок 99. Service. Уведомления - notifications

Сообщение neoksi » 23 сен 2012, 16:51

powercat писал(а):ооо...а как это сделать? В базу сообщения заливать?
Для сохранности можно и в БД отдельную таблицу создать.

Ответить