Я использую Firebase для обработки уведомлений, и мне нужны уведомления с TEST_ACTION, которое является моим интерактивным действием в полезной нагрузке, чтобы отправить меня в мою RecounceeUserActivity, все работает нормально, за исключением одной проблемы, когда я помещаю приложение в фоновый режим и одновременно уведомляю с TEST_ACTION получено, когда я возобновляю работу приложения, оно отправляет меня в мою RecnoweUserActivity, но я хочу, чтобы оно отправляло меня только при нажатии на уведомление в раскрывающемся меню.
Это мой класс firebaseMessage
private fun sendNotification(message: RemoteMessage) {
val title = message.notification?.title.toString()
val body = message.notification?.body.toString()
val notificationIntent: Intent = if (message.notification?.clickAction.toString() == "TEST_ACTION") {
Intent(this, RecognizeUserActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
putExtra("message", body)
}
} else {
Intent(this, MainActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
putExtra("message", body)
}
}
val requestCode = System.currentTimeMillis().toInt()
val pendingIntent: PendingIntent = PendingIntent.getActivity(this, requestCode, notificationIntent, PendingIntent.FLAG_IMMUTABLE)
val channelId = "APP"
val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val notificationBuilder: NotificationCompat.Builder =
NotificationCompat.Builder(this, channelId)
.setSmallIcon(R.drawable.icon)
.setContentTitle(title)
.setContentText(body)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent)
.setStyle(NotificationCompat.BigTextStyle())
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel(
channelId,
"AUTHORIZATION NOTIFICATIONS",
NotificationManager.IMPORTANCE_DEFAULT
)
notificationManager.createNotificationChannel(channel)
}
val notificationId = System.currentTimeMillis().toInt()
notificationManager.notify(notificationId, notificationBuilder.build())
}
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
sendNotification(message)
}
override fun handleIntent(intent: Intent) {
try {
if (intent.extras != null) {
val builder = RemoteMessage.Builder("FirebaseMessagingService")
for (key in intent.extras!!.keySet()) {
builder.addData(key!!, intent.extras?.getString(key))
}
onMessageReceived(builder.build())
} else {
super.handleIntent(intent)
}
} catch (e: Exception) {
super.handleIntent(intent)
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... o-activity
Проблема с перенаправлением уведомлений Firebase на активность ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1732805583
Anonymous
Я использую Firebase для обработки уведомлений, и мне нужны уведомления с TEST_ACTION, которое является моим интерактивным действием в полезной нагрузке, чтобы отправить меня в мою RecounceeUserActivity, все работает нормально, за исключением одной проблемы, когда я помещаю приложение в фоновый режим и одновременно уведомляю с TEST_ACTION получено, когда я возобновляю работу приложения, оно отправляет меня в мою RecnoweUserActivity, но я хочу, чтобы оно отправляло меня только при нажатии на уведомление в раскрывающемся меню.
Это мой класс firebaseMessage
private fun sendNotification(message: RemoteMessage) {
val title = message.notification?.title.toString()
val body = message.notification?.body.toString()
val notificationIntent: Intent = if (message.notification?.clickAction.toString() == "TEST_ACTION") {
Intent(this, RecognizeUserActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
putExtra("message", body)
}
} else {
Intent(this, MainActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
putExtra("message", body)
}
}
val requestCode = System.currentTimeMillis().toInt()
val pendingIntent: PendingIntent = PendingIntent.getActivity(this, requestCode, notificationIntent, PendingIntent.FLAG_IMMUTABLE)
val channelId = "APP"
val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)
val notificationBuilder: NotificationCompat.Builder =
NotificationCompat.Builder(this, channelId)
.setSmallIcon(R.drawable.icon)
.setContentTitle(title)
.setContentText(body)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setContentIntent(pendingIntent)
.setStyle(NotificationCompat.BigTextStyle())
val notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val channel = NotificationChannel(
channelId,
"AUTHORIZATION NOTIFICATIONS",
NotificationManager.IMPORTANCE_DEFAULT
)
notificationManager.createNotificationChannel(channel)
}
val notificationId = System.currentTimeMillis().toInt()
notificationManager.notify(notificationId, notificationBuilder.build())
}
override fun onMessageReceived(message: RemoteMessage) {
super.onMessageReceived(message)
sendNotification(message)
}
override fun handleIntent(intent: Intent) {
try {
if (intent.extras != null) {
val builder = RemoteMessage.Builder("FirebaseMessagingService")
for (key in intent.extras!!.keySet()) {
builder.addData(key!!, intent.extras?.getString(key))
}
onMessageReceived(builder.build())
} else {
super.handleIntent(intent)
}
} catch (e: Exception) {
super.handleIntent(intent)
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79234243/problem-with-firebase-notification-redirecting-to-activity[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия