При использовании прямого ответа с уведомлениями Android и написании ответа в RemoteInput
, если появляется новое уведомление, оно скрывает текущее уведомление и клавиатуру (если она была открыта).Как мне избежать его скрытия?Идеальным решением было бы просто игнорировать уведомления после того, как пользователь нажал на RemoteInput, а затем снова начать их показывать, когда пользователь отправил сообщение или просто отменил его.
String replyText = "Reply";
RemoteInput remoteInput = new RemoteInput.Builder(MyIntentService.EXTRA_TEXT_REPLY)
.setLabel(replyText)
.build();
Intent intent = new Intent(context, MyMessageReplyReceiver.class);
intent.setAction(MyIntentService.ACTION_MESSAGE_TEXT_REPLY);
intent.putExtra(MyIntentService.EXTRA_NOTIFICATION_ID, notificationId);
intent.putExtra(MyIntentService.EXTRA_CHANNEL_ID, channelId);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
context,
1001,
intent,
PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Action replyAction = new NotificationCompat.Action.Builder(
R.drawable.ic_reply_bubble, replyText, pendingIntent)
.addRemoteInput(remoteInput)
.build();
builder.setWhen(lastMessage.getTimestamp())
.setShowWhen(true)
.setSmallIcon(R.drawable.notification_bar_message)
.setColor(getNotificationColor())
.setAutoCancel(true)
.setCategory(Notification.CATEGORY_MESSAGE)
.setGroup(GROUP_NOTIFICATIONS)
.addAction(replyAction);
notificationManager.notify(notificationId, builder.build());