У меня есть погодное приложение, которое позволяет пользователям постоянно отображать температуру в строке состояния со скрытым уведомлением. Я достигаю этого, имея тихое текущее уведомление, в котором содержимое уведомления представляет собой макет высотой 0dp: (код в C#, поскольку это проект Xamarin. Android)
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId)
.SetContentIntent(pendingIntent)
.SetContent(new RemoteViews(MainApplication.Context.PackageName, Resource.Layout.Blank_Notification))
.SetSmallIcon(icon)
.SetAutoCancel(false)
.SetOngoing(true)
.SetPriority((int)NotificationPriority.High)
.SetOnlyAlertOnce(true);
Файл макета :
<LinearLayout xmlns:android="schemas.android.com/apk/res/android"
android:id="@+id/layout"
android:layout_width="0dp"
android:layout_height="0dp"/>
Большую часть времени это работает нормально, но время от времени я получаю от пользователей сообщения о том, что мое уведомление вызывает странные проблемы с другими уведомлениями: либо некоторые из них обрезаются, либо их содержимое скрыто. В основном то, что здесь описано: https://support.google.com/pixelphone/thread/59310540?hl=en
введите описание изображения здесь
Насколько я понимаю, такой подход (со скрытым уведомлением) не рекомендуется / не поддерживается. Но мне интересно, есть ли здесь обходной путь, тем более что такая функция довольно распространена / ожидаема от пользователей в приложении погоды.