169 похожих чатов

Всем привет! кто подскажет, можно как то получить нажатие на

уведомление? в Listener какой - то

21 ответов

16 просмотров

Интентом

Yaroslav-Lutsenko Автор вопроса

ты про .setContentIntent?

Да

мм https://developer.android.com/training/notify-user/navigation

Yaroslav-Lutsenko Автор вопроса

не подходит. Он вызывает putExtra до того, как пользователь нажал на уведомление. Из - за этого логика и поломалась

Что?

Yaroslav-Lutsenko Автор вопроса

private fun getIntent(item: DNewsItem): PendingIntent { val intent = Intent(context, BottomTabsActivity::class.java) intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(EXTRA_NEWS_ITEM, item) Timber.e("putExtra ${item.id}") return PendingIntent.getActivity(context, 0 /* Request code */, intent, PendingIntent.FLAG_ONE_SHOT) } вызываеться до того, как пользоваетль нажал на уведомление. Проблема в том, что при этом добавляеться putExtra который я хочу добавлять только когда пользователь именно нажал на уведомление

тебе нужно обработать нажатие на само уведомление, или на баттоны в уведомлении?

Yaroslav-Lutsenko Автор вопроса

баттанов там нет, в этом и проблема

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

ну а вообще можно в интент впихнуть action и добавить броадкаст ресивер в любом месте по желанию

Yaroslav-Lutsenko Автор вопроса

я сохраняю данные через intent.putExtra(EXTRA_NEWS_ITEM, item). Использую при отркытии приложения. Достаю занчения по EXTRA_NEWS_ITEM. Проблема в том, что если приходит другая новость, я сохраняю и достаю по этому же значению

так для других новостей уже другой интент будет

Yaroslav-Lutsenko Автор вопроса

да, но каким то образом это так не работает (сам не понимаю почему). Если нажмешь на уведомление -> открывает последнее полученное. И на остальные бесмысленно нажимать

скорее всего что-то с флагами. типа CLEAR_TOP или что-то подобное, не помню. Плюс у каждого уведомления свой айди нужно генерить

Yaroslav-Lutsenko Автор вопроса

id у всех разное. Ты советуешь именно в флагах посмотреть?

а что за уведомления вообще? в fcm сервисе вызываются? или как?

Yaroslav-Lutsenko Автор вопроса

fcm silent уведомления, которые я получаю в job затем получаю нужную мне инфу и кидаю пользователю уведомление

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

Yaroslav-Lutsenko Автор вопроса

тут наверное проще код показать?

да. и, думаю, лучше в личку

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта