Я не уверен, как это называется, когда уведомление делает «быстрое отображение» на вашем устройстве, прежде чем просто перейти к панели уведомлений. Пример того, о чем я говорю, можно найти здесь (gif в разделе Android Output). Вы можете видеть, когда он нажимает кнопку, чтобы получить уведомление, оно отображает уведомление в течение 2-3 секунд, прежде чем оно исчезает, и остается только значок в области уведомлений.
Как я могу получить это для моих уведомлений ? Прямо сейчас, когда я тестирую уведомление, отправленное почтальоном, оно просто отправляется на мое устройство и переходит к отображению значка на панели уведомлений без быстрого отображения.
Вот мое SendLocalNotification метод в моем FirebaseService классе (я предполагаю, что это настройка, где я создаю уведомление, но я могу ошибаться):
void SendLocalNotification(string body)
{
//Unique request code to avoid PendingIntent collision.
var requestCode = new Random().Next();
// accept intent
var acceptIntent = new Intent(this, typeof(MainActivity));
acceptIntent.SetAction("ACCEPT_ACTION");
var pendingIntentAccept = PendingIntent.GetActivity(this, requestCode, acceptIntent, PendingIntentFlags.OneShot);
// decline intent
var declineIntent = new Intent(this, typeof(MainActivity));
declineIntent.SetAction("DECLINE_ACTION");
var pendingIntentDecline = PendingIntent.GetActivity(this, requestCode, declineIntent, PendingIntentFlags.OneShot);
var intent = new Intent(this, typeof(MainActivity));
intent.AddFlags(ActivityFlags.SingleTop);
var notificationBuilder = new NotificationCompat.Builder(this)
.AddAction(0, "Accept", pendingIntentAccept)
.AddAction(0, "Decline", pendingIntentDecline)
.SetContentTitle("Content Title")
.SetSmallIcon(Resource.Drawable.laundry_basket_icon_15875)
.SetContentText("content text")
.SetContentInfo("content info")
.SetSubText("sub text")
.SetAutoCancel(true)
.SetShowWhen(true)
.SetContentIntent(pendingIntentAccept)
.SetContentIntent(pendingIntentDecline);
if (Build.VERSION.SdkInt >= BuildVersionCodes.O)
{
notificationBuilder.SetChannelId(AppConstants.NotificationChannelName);
}
var notificationManager = NotificationManager.FromContext(this);
notificationManager.Notify(0, notificationBuilder.Build());
}
Пожалуйста, дайте мне знать, если код нужен из других классов.